ISSN: 2395-1680 (ONLINE) ICTACT JOURNAL ON MICROELECTRONICS, JANUARY 2018, VOLUME: 03, ISSUE: 04
DOI: 10.21917/ijme.2018.0084
MEMRISTOR EMULATOR USING MCP3208 AND DIGITAL POTENTIOMETER
M. Abarna Ermini1, J. Dhanasekar2 and V.K. Sudha3
1,2
Department of Electronics and Communication Engineering, Sri Eshwar College of Engineering, India
3
Department of Electronics and Communication Engineering, Dr. Mahalingam College of Engineering and Technology, India
Abstract In 2008, researchers from Hewlett Packard labs announced the
In this paper, we are using memristor emulator made up of a Digital realisation of one of the first physical solid-state memristors [11].
Potentiometer (DigPot) and microcontroller (Arduino). Mostly the Afterwards, there’s been a lot of interest in exploiting this
emulator is composed of off-the-shelf electronic component. Here we emerging circuit element especially in their applications in
are using MCP3208 microchip. The Arduino which in turn analogue circuitry, particularly exploiting their non-volatile
communicates with the digital potentiometer through the Serial memory. This is in revenge, due to their fine resolution
Peripheral Interface (SPI). The analog pin in the Arduino is used to programmability.
read the voltages at terminals of digital potentiometer resistance
network. It is built as an Analog to Digital Converter (ADC) on the An examples of memristor application in programmable
Arduino. Then the resistance value calculated by using mathematical analogue ICs is in demonstrated in [12] where a memristor is
equation of the memristor. It continuously updates the potentiometer designed for a pulse-programmable mid-band differential gain
through the serial port based on the calculation of microcontroller. The amplifier, the total output resistance is made programmable by
data is collected through the serial port and displayed on the LCD use of a memristor.
screen. This can be simulated by using Xilinx ISE software.
Another practical example of memristor application is in a
programmable threshold comparator [13], here, a technique is
Keywords: used to control the charge integrated in the memristor thereby
Memristor, Emulator, Digital Potentiometer, Resistor Network, implementing a programmable hysteresis. Recently, chances of
Arduino, Microcontroller Memristor-based Vision Processors have also been investigated.
In [14], a light-to-resistance encoder exploiting the properties of
1. INTRODUCTION a memristor is presented whereas other memristor-based image
processing algorithms are continually being exploited [15]-[17].
Memristor is an electrical component that limits or regulates Most of the emulators which have been published rely on
the flow of electrical current in a circuit and remembers the discrete electrical components which are either complicated to
amount of charge that has previously flowed through it. This term build or are resource hungry. In this paper, we propose an easy
memristor was first realized by Chua in 1971 [8], there are existed way of mimicking the properties of the memristor with an
three passsive element i.e., resistor, capacitor and inductor. They Arduino-controlled digital potentiometer. This approach takes
relate the variable as voltage-current, charge-voltage and flux- advantage of the Arduino’s capability to communicate with other
current. However, there was a missing relation between flux and components through its SPI ports and most especially it can be
charge. So, Chua proposed a mathematical model which can give easily programmed and reconfigured. Since the whole idea is to
the relation between that variable called the memristor [1] simplify things, data acquisition done by a PC interfaced with the
memristive device and system can be implemented [2]. When the Arduino through the serial port. This way data acquired from the
electric power supply is turned off, the memristor remembers its Arduino is plotted in real-time using some sort of serial monitor.
most recent resistance until it is turned on again [3] [4]. This can be simulated by using Xilinx software.
In 2008, a team at HP Labs claimed to have found Chua's
missing memristor based on an analysis of a thin film of titanium 2. LITERATURE SURVEY
dioxide thus connecting the operation of RRAM devices to the
memristor concept [3]. The theory of the fourth fundamental Memristor emulator imitates the behavior of a TiO2
circuit element however remained a puzzle for decades as there memristor is presented. Most of the emulator is built from off-
was no physical implementation to back it up. As some scholars the-shelf solid state components. To make the real world
have argued, this was due in part to the existing technology and memristor current application.
also the memristor being a nano-scale device even though for
The first memristor emulator as CMOS based memristor
decades, memristive behaviors have been unwittingly observed
emulator. It is made up of four Differential Difference Current
[5]-[9] The memristor can be considered as a time varying resistor
Conveyor (DDCC) as integrator, squarer, multiplier and summer.
whose resistance depends on the history of current that has passed
This type of memristor emulator provides less complexity and it
through it Its resistance changes as a result of the summation of
operates at high frequency also. It has some drawbacks such as
current that has passed through the device. When the current
increasing power consumption and it required more space to
flowing through the device is zero, the summation of current
occupy.
becomes constant, and thus the resistance remains unchanged.
This gives the memristor the potential of being adopted as a non- To overcome this drawbacks by using a simple MOS
volatile memory component [10]. realization of current-controlled memristor emulator. This paper
was postulated by Hussien and Fouda [19]. This type of emulator
consists of one Voltage Control Resistor (VCR) and one second
473
M ABARNA ERMINI et al.: MEMRISTOR EMULATOR USING MCP3208 AND DIGITAL POTENTIOMETER
generation Current Conveyor (CCII). We know that the 3. PROPOSED SYSTEM
memristor is a variable resistor which changes it’s depending on
the charge passing through it. So, it can be emulated by VCR, In this paper, we are simulating the Arduino controlled
where control voltage is proportional to the passing charge memristor emulator by using Xilinx ISE. Here the memristor
through the device. The control voltage is generated by mirroring emulator is composed of digital potentiometer and MCP3208. The
the current passing through VCR and imposing it into a capacitor. memristor emulator has been implemented in such a way that the
So voltage across the capacitor is required. Vc = qin/C. input resistance is calculated as a function of the applied current
CCII can be implemented using TSMC 0.13µm technology or voltage to satisfy the equations of the memristor is given by
with dual supply ±1.5V and has three terminal i.e. two input
w t w t
terminal and one output terminal. It required minimum supply V t RON ROFF 1- i t (1)
D
voltage and decreasing offset voltage between two input D
terminals. In VCR is essential element in different electronic
circuit such as variable gain amplifier and signal generator. The Digi-pot LCD
MOS based memristor emulator giving a high functionality to
work in any frequency range and it was easily integrated with ADC SPI Portal FPGA
MOS circuit in integrated circuit.
Another type of memristor emulator as flux- controlled Fig.1. Block diagram of memristor emulator
memristor emulator. The emulator circuit is built by using
CA3080 and AD844AN for OTA and CCII. The memristance VSS VDD
value of the emulator circuit is adjustable by means of a simple
change of transconductance parameter (gm) of the operational
transconductance amplifier in the emulator circuit. The flux-
controlled memristor emulator is consists of three operational CH0 VREF
transconductance amplifier, four second generation current CH1 Input
conveyor, six resistor and one capacitor. The transconductance channel
parameter of OTA is proportional to the current flowing its bias -
MUX DAC
current terminal. -
The features of the emulator circuit is the possibility of CH7
controlling memristance value by change of transconductance
amplifier via a bias voltage. It is used for real world application Sample 12-bit
such as chaotic signal, programmable analog circuit. and hold SAR
The other model is flux- controlled floating analog memristor
emulator circuit based on CCII built from few active devices and
passive elements. The CCII is realized by an AD844AN. The
current in the terminal of each AD844AN is labeled by the
number of each active devices. There are two possibilities to
control the memristor, whereas memristor is charge controlled Control Shift
and memristor is flux controlled. Logic Register
For the frequency analysis , the frequency of the exciting
source increases to infinite entail that the linear time varying
resistor of memristor is reduced to zero. The cubic function is
used for modeling the charge or flux controlled memristance but
incremental memristance is modeled by a first order function. It
provide good accuracy and easily reproducible at low cost. It is CS/SHDN DIN CLK DOUT
used for sensors, cellular neural network, chaotic systems,
programmable analog circuit and non-volatile memory device. Fig.2. Functional block diagram of MCP3208
Another model is practical approach to programmable analog
circuits with memristors. The main element of the memristor The working principle of the emulator is simple and self-
emulator is a digital potentiometer whose resistance is explanatory. The analog-to-digital converter (ADC) of the
continuously updated by a microcontroller and determined by Arduino continuously samples the voltage drop across the
pre-programmed equations of current-controlled or voltage- emulator which in turn is used to the emulator’s equivalent
controlled memristive systems. A voltage drop on the memristor resistance based on the mathematical equations governing the
measured by the analog to digital converter (ADC). It has some functionality of the memristor. The Communication between the
drawbacks due to resolution of digital signal and digital DigPot and the Arduino is attained through Serial Peripheral
potentiometer. Interface (SPI) bus meanwhile the emulator can be easily
connected to other electronic devices. The schematic of the
memristor emulator which consist of an Arduino due, and an
MCP3208 digital potentiometer. The MCP3208 A/D converters
474
ISSN: 2395-1680 (ONLINE) ICTACT JOURNAL ON MICROELECTRONICS, JANUARY 2018, VOLUME: 03, ISSUE: 04
employ a conventional SAR architecture. With this architecture, and self-explanatory. The analogue-to-digital converter (ADC) of
a sample is acquired on an internal sample/hold capacitor for 1.5 the Arduino continuously samples the voltage drop across the
clock cycles starting on the fourth rising edge of the serial clock emulator which in turn is used to the emulator’s equivalent
after the start bit has been received. Following this sample time, resistance based on the mathematical equations governing the
the device uses the collected charge on the internal sample/hold functionality of the memristor. The Communication between the
capacitor to produce a serial 12-bit digital output code. DigPot and the Arduino is attained through Serial Peripheral
Conversion rates of 100 kSPS are possible on the MCP3204/3208. Interface (SPI) bus meanwhile the emulator can be easily
Communication with the device is accomplished using a 4-wire connected to other electronic devices. The digital signal
SPI compatible interface. transmitted to the FPGA through the SPI bus and finally, the
The need of sample and hold circuit as discussed, the ADC output of FPGA is displayed on the LCD screen.
takes finite time, called the conversion time, to give a digital
output to corresponding analog input value. If the analog input
signals are not stable during conversion time, the digital output
will not be the true representation of its analog value. This may
lead to error in digital converted data. This error will be some
function of the highest frequency and uncertainty in time. In order
to overcome this problem, the sample and hold (S/H) circuit is
used. This increases the system bandwidth (BW) without change
in the accuracy.
The sample and hold circuit has two modes,
• Sample mode
• Hold mode
In the sample mode, the output follows the input with unity Fig.3. Simulation Output
gain whereas in the hold mode retains the last value of the sample
when the switch was opened. 5. CONCLUSION
The basic sample and hold circuit consists of a switch and a
capacitor as shown. When the switch is closed, the capacitor is In this paper, we used memristor emulator made up of a
charged to the instantaneous value of the input signal voltage and Digital Potentiometer (DigPot) and microcontroller (Arduino).
when it is opened, it holds the voltage. This process of charging Mostly the emulator is composed of off-the-shelf electronic
and holding the voltage assumes very high value of load component. Here we are using MCP3208 microcontroller,
impedance. If the load impedance is not high, then the charge on because it has 12-bit resolution, low power CMOS technology
the capacitor will, start leaking through the low value of the load and low cost to made etc. Arduino as an analog-to-digital
impedance and the held voltage will never be constant. converter and it used to read the voltages at the terminal of the
If the time constant RC is very small, the capacitor C will be digital potentiometer. This digital potentiometer is continuously
updated through the SPI port based on the microcontroller. The
charged to the sample value very rapidly. Hence during the
data is collected from the one or more sensor network through the
sample interval, the sample voltage very closely follows the input
serial port. The performance characteristic can be successfully
voltage and during the hold interval, the capacitor holds the
verified by using Xilinx ISE.
sampled value. This happy situation does not hold good in
practice, as capacitors and switches are not perfect. There are
many types of deviations from the ideal situation. The important REFERENCES
specifications worth mentioning for the selection of switches are
• Aperture time and [1] L.O. Chua, “Nonlinear Circuit Foundations for
Nanodevices. I. the Four Element Torus”, Proceedings of
• Acquisition Time. the IEEE, Vol. 91, No. 11, pp. 1830-1859, 2003.
The Arduino which in turn communicates with the digital [2] J.M. Tour and T. He, “Electronics: the fourth element”,
potentiometer through the Serial Peripheral Interface (SPI). The Nature, Vol. 453, pp. 42-43, 2008.
Arduino samples the voltage difference between two terminals of [3] D. Lin, L. Chua and S.Y. Hui, “The first Man-Made
potentiometer resistance network. . The data is collected from the Memristor: Circa 1801”, Proceedings of the IEEE, Vol. 103,
sensor through the serial port and plotted on a LCD screen. The No. 1, pp. 131-136, 2015.
performance analysis of the design is verified using Xilinx [4] T. Prodromakis, C. Toumazou, L. Chua, “Two Centuries of
software. Memristors”, Nature Materials, Vol. 11, No. 6, pp. 478-481,
2012.
4. RESULTS [5] O. Ageev, Y.F. Blinov, O. Ilin, A. Kolomiitsev, B.
Konoplev, M. Rubashkina, V. Smirnov and A. Fedotov,
In this project, we are simulating the Arduino controlled “Memristor Effect on Bundles of Vertically Aligned Carbon
memristor emulator by using Xilinx ISE. Here the memristor Nanotubes Tested by Scanning Tunnel Microscopy”,
emulator is composed of digital potentiometer and Technical Physics, Vol. 58, No. 12, pp. 1831-1836, 2013.
microcontroller. The working principle of the emulator is simple [6] A. Chanthbouala et al., “A Ferroelectric Memristor”, Nature
Materials, Vol. 11, No. 10, pp. 860-864, 2012.
475
M ABARNA ERMINI et al.: MEMRISTOR EMULATOR USING MCP3208 AND DIGITAL POTENTIOMETER
[7] X. Wang, Y. Chen, H. Xi, H. Li, D. Dimitrov, “Spintronic Emulator Circuit”, IEEE Transactions on Circuits and
Memristor through Spin-Torque-Induced Magnetization Systems II: Express Briefs, Vol. 61, No. 5, pp. 309-313,
Motion”, IEEE Electron Device Letter, Vol. 30, No. 3, pp. 2014.
294-297, 2009. [22] A.G. Alharbi, M.E. Fouda and M.H. Chowdhury,
[8] L. Chua, “Memristor-the Missing Circuit Element”, IEEE “Memristor Emulator based on Practical Current Controlled
Transactions on Circuit Theory, Vol. 18, No. 5, pp. 517-519, Model”, Proceedings of IEEE 58th International Midwest
1971. Symposium on Circuits and Systems, pp. 1-4, 2015.
[9] L.O. Chua and S.M. Kang, “Memristive Devices and [23] H. Kim, M.P. Sah, C. Yang, S. Cho, L.O. Chua, “Memristor
Systems”, Proceedings of the IEEE, Vol. 64, No. 2, pp. 209- Emulator for Memristor Circuit Applications”, IEEE
223, 1976. Transactions on Circuits and Systems I: Regular Papers,
[10] Y.V. Pershin and M. Di Ventra, “Memory Effects in Vol. 59, No. 10, pp. 2422-2431, 2012.
Complex Materials and Nanoscale Systems”, Advances in [24] Y.V. Pershin, M.D. Ventra, “Practical Approach to
Physics, Vol. 60, No. 2, pp. 145-227, 2011. Programmable Analog Circuits with Memristors”, IEEE
[11] R. S. Williams, “How We Found the Missing Memristor”, Transactions on Circuits and Systems I: Regular Papers,
IEEE Spectrum, Vol. 45, No. 12, pp. 28-35, 2008. Vol. 57, No. 8, pp. 1857-1864, 2010.
[12] S. Shin, K. Kim and S.M. Kang, “Memristor Applications [25] Y.N. Joglekar, S.J. Wolf, “The Elusive Memristor:
330 for Programmable Analogics”, IEEE Transactions on Properties of Basic Electrical Circuits”, European Journal
Nanotechnology, Vol. 10, No. 2, pp. 266-274, 2011. of Physics, Vol. 30, No. 4, pp. 661-665, 2009.
[13] O.A. Olumodeji and M. Gottardi, “Memristor-based [26] J. Valsa, D. Biolek and Z. Biolek, “An Analogue Model of
Comparator with Programmable Hysteresis”, Proceedings the Memristor”, International Journal of Numerical
of IEEE 11th Conference on Ph.D. Research in Modelling: Electronic Networks, Devices and Fields, Vol.
Microelectronics and Electronics, pp. 232-235, 2015. 24, No. 4, pp. 400-408, 2011.
[14] O.A. Olumodeji, A.P. Bramanti and M. Gottardi, “A [27] D.B. Strukov, G.S. Snider, D.R. Stewart and R.S. Williams,
Memristor-based Pixel Implementing Light-to-Resistance “The Missing Memristor Found”, Nature, Vol. 453, pp. 80-
Conversion”, Optical Engineering, Vol. 55, No. 2, pp. 54- 83, 2008.
59, 2015. [28] Y. Ho, G.M. Huang and P. Li, “Dynamical Properties and
[15] C. Yakopcic, T.M. Taha, G. Subramanyam and S. Rogers, Design Analysis for Nonvolatile Memristor Memories”,
“Memristor-based Unit Cell for a Detector Readout Circuit”, IEEE Transactions on Circuits and Systems I: Regular
Proceedings of International Conference on Optical Papers, Vol. 58, No. 4, pp. 724-736, 2011.
Engineering Applications, pp.81651-81656, 2011. [29] J. Blanc and D.L. Staebler, “Electrocoloration in SrTIO 3:
[16] O.A. Olumodeji, A.P. Bramanti and M. Gottardi, Vacancy Drift and Oxidation-Reduction of Transition
“Memristor-based Pixel for Event-Detection Vision Metals”, Physical Review, Vol. 4, No. 10, pp. 3548-3553,
Sensor”, IEEE Sensors Journal, pp. 1-4, 2015. 1971.
[17] O. Olumodeji, A. Bramanti and M. Gottardi, “A Memristive [30] M.P. Sah, C. Yang, H. Kim and L. Chua, “A Voltage 380
Pixel Architecture for Real-Time Tracking”, IEEE Sensors Mode Memristor Bridge synaptic Circuit with Memristor
Journal, Vol. 16, No. 22, pp. 7911-7917, 2016. Emulators”, Sensors, Vol. 12, No. 3, pp. 3587-3604, 2012.
[18] S. Yener and H. Kuntman, “A New CMOS based Memristor [31] Z. Biolek, D. Biolek and V. Biolkova, “Spice Model of
Implementation”, Proceedings of IEEE International Memristor with Nonlinear Dopant Drift”, Radioengineering,
Conference on Applied Electronics, pp. 345-348, 2012. Vol. 18, No. 2, pp. 210-214, 2009.
[19] A.I. Hussein and M.E. Fouda, “A Simple MOS Realization [32] O.A. Olumodeji and M. Gottardi, “Emulating the Physical
of current Controlled Memristor Emulator”, Proceedings of Properties of HP Memristor using an Arduino and A Digital
IEEE 15th International Conference on Microelectronics, Potentiometer”, Proceedings of IEEE 12th Conference on
pp. 1-4, 2013. Ph. D. Research in Microelectronics and Electronics, pp. 1-
[20] H. Sozen and U. Cam, “New Memristor Emulator Circuit 4, 2016.
using OTAs and CCIIs”, Analog Integrated Circuits and [33] L.O. Chua, “The Fourth Element”, Proceedings of the IEEE,
Signal Processing, Vol. 89, No. 3, pp. 655-663, 2016. Vol. 100, No. 6, pp. 1920-1927, 2012.
[21] C. Sanchez-Lopez, J. Mendoza-Lopez, M. Carrasco-Aguilar
and C. Muniz-Montero, “A Floating Analog Memristor 355
476