Traditionally, the properties of electrically excitable cells are assessed using current clamp and voltage clamp electrophysiology protocols.
In current clamp , an electrical current waveform is specified and applied to the cell through a microelectrode while the transmembrane potential is recorded. In voltage clamp , a desired voltage waveform is specified and analog circuitry is used to determine and inject a current that is necessary to maintain, or clamp, the membrane potential at the specified values.
The dynamic clamp allows the insertion of artificial membrane conductances, such as ion channels, by injecting current that is a function of the cell's membrane potential. The injected current is computed by computer software or analog circuitry based on the equivalent circuit model of an excitable cell Fig.
The artificial conductance is effectively in parallel with other membrane processes, each of which contributes to the total transmembrane current. The total transmembrane current is related to changes in the membrane potential, V m , through the following equation:. Any conductance that can be described mathematically can be applied to a neuron using the dynamic clamp.
The current passing through an ion channel, for example, is often described by Ohm's law using the following conductance-based equation:. Gating variables have values between 0 and 1 to scale the channel conductance and are typically described by a first order differential equation:.
The membrane potential is re-sampled and the equations are re-evaluated on every computational cycle of the dynamic clamp system. As such, the dynamic clamp is also sometimes termed conductance clamp or conductance injection. While the dynamic clamp was first demonstrated in cardiac electrophysiology to electrically couple embryonic chick myocytes , the technique was independently introduced Robinson, and Sharp, and is now more prevalent in neural electrophysiology Economo, ; Prinz, ; and Goaillard, By varying the parameter values of a model channel or synapse, experiments can be conducted to determine how these properties shape membrane dynamics and neuron activity.
These approaches have made the dynamic clamp a valuable tool for studying the intrinsic properties of single neurons and the behavior of small neural networks. Dynamic clamp studies have also made important contributions to our understanding of neuronal dynamics under in vivo-like conditions in which neurons receive a constant barrage of synaptic inputs which can easily reach thousands of events per second.
Artificial synaptic input can be constructed from pre-recorded activity of presynaptic neurons but is more commonly based on statistical descriptions of noisy conductance waveforms.
This high conductance state has been shown to enhance the cell's responsiveness to small inputs, also known as its gain Chance, ; Destexhe, ; and Sceniak, , and can change the signal integration of synaptic input, creating distinct modes of firing patterns Wolfart, ; Steriade, ; Rudolph, ; and Destexhe, The statistics of current-based versus conductance-based input, such as correlations and relative balance between excitation and inhibition, are translated differently into output statistics such as the membrane potential distribution, the distribution of interspike intervals ISIs , the coefficient of variation CV , and the mean and variance of the neuron's output firing rate Tiesinga, ; Rudolph, ; Kumar, ; and Salinas, Together, these factors result in a dynamical behavior of the neuron that is usually quite different from the intrinsic dynamics of the voltage-gated currents.
Results from dynamic clamp experiments must be carefully interpreted due to several experimental limitations. Space-clamp problems arise in that the injected current is limited to a space around the recording electrode. In some experimental studies, an artificial dendrite is modeled as well to simulate the cable effects of synaptic inputs propagating to the action potential initiation zone Hughes, Since current can usually only be injected at the soma, the dynamic clamp may be a poor approximation of dendritic input in some cell types.
In most cells, the dynamic clamp is operated in discontinuous current clamp DCC mode in which a single electrode switches between recording and current injection states. In this configuration, it is not possible to inject large conductances that approach the magnitude of the cell's intrinsic resting conductance while still accurately recording the membrane potential.
The injected current induces a voltage drop through the electrode and causes measurement accuracies that are propagated through the closed feedback loop in the dynamic clamp system and may cause ringing artifacts in the recording Brizzi, ; Jaeger, ; Preyer, ; and Preyer, In larger cells, two electrodes may be used, one to record and one to inject current.
Researchers also typically use the same ion channel or synapse model parameters for all cells used in an experiment, assuming that neurons of the same cell type have identical intrinsic properties, both within an animal and between animals Golowasch, There usually is not time during an experiment to manually adjust the model to optimal parameters for each cell.
Compared to other real-time closed-loop experimental protocols, the dynamic clamp has perhaps the most stringent performance requirements. These limitations involve numerical, algorithmic, and hardware platform-specific issues. Dynamic clamp performance depends on how accurately the model is solved, measurement error in sampling the voltage, and the sampling rate of the system. Thus, the computational performance of dynamic clamp suffers from a trade-off between the speed of computation and numerical accuracy.
Dynamic clamp sampling rates are currently chosen based on the limits of the hardware platform being used and the temporal dynamics being simulated. While it is possible to compute the time step necessary for the Euler and exponential Euler methods to achieve a desired one-step integration accuracy for a known voltage measurement error, few studies employ this technique Butera, Standard performance benchmarks are needed for dynamic clamp to justify the sampling rates that are used. Other hardware that are typically required for dynamic clamp are an electrophysiology amplifier for measuring membrane potential and injecting current and a multifunctional data acquisition system DAQ for performing analog-to-digital ADC and digital-to-analog DAC conversion.
The technical specifications of each of these hardware components can affect the performance of the overall system by introducing additional jitter, latency, and quantization error that can affect system timing and the numerical computation Bettencourt, and Butera, Recent results show that faster systems would result in a greater range of conductances that could be utilized, improved stability, and more accurate real-time model simulations Preyer, and Preyer, RTXI is designed to run on a standard personal desktop computer.
Computers with uniprocessors, multi-core processors, and multiple CPUs with and without hyperthreading are supported by Linux and RTXI, though typically more stable systems are realized with Intel rather than AMD processors.
For multi-core computers, Xenomai will need to be manually configured during installation. In rare cases, a particular CPU and motherboard combination is not supported. Certain advanced motherboards may contain features that are not compatible with Xenomai, such as some integrated graphics chips that use hardware-level techniques to speed up computation. For video cards, we recommend you use an external one. This distinction is important because the greatest overhead in RTXI is related to data visualization in the oscilloscope.
For newer graphics cards, you may need to manually install the Linux drivers, usually available on the manufacturer's website. Some systems may also include BIOS level or hardware interrupts that are not captured by Xenomai or advanced power management features.
Sometimes these can be disabled by the user in the BIOS. The real-time Linux kernel has extremely low latencies and little software overhead. RTXI is also designed to minimize the number of dynamically loaded modules and keep overhead low. While the processor speed allows RTXI to complete more computations within a single real-time cycle, the amount of RAM and the amount of video memory have a significant impact on the stability and speed of the system.
Users should also consider high speed hard drives, large cache sizes, and high speed bus interfaces. If you are purchasing an off-the-shelf desktop computer system and plan to add a DAQ card, be sure that your power supply is powerful enough to handle the extra load. At least a W power supply is recommended. For closed loop experiments using RTXI, your computer must be equipped with an analog-to-digital converter ADC to acquire data and a digital-to-analog converter DAC to generate signals.
Of course, external hardware such as an oscilloscope or function waveform generator can be used in conjunction with RTXI. Furthermore, the USB interface can only achieve a maximum sampling rate of approximately 1 kHz, insufficient for some closed-loop real-time applications. If you want to use additional cards, you will need to edit the configuration file.
You will need to exit and restart RTXI for the new configuration to take effect. Settings files that you have already created should still work when you change rtxi. You will have to rebuild those settings files or edit them as above using your choice of text editor. RTXI automatically detects the manufacturer and board names of available DAQ cards and the number and type of input and output channels.
Xenomai provides several command line utilities for testing your real-time performance. There are both user and kernel space versions of the available tools. When using these tests, keep in mind that they are most informative when the system is under processing loads, ideally loads similar to those added when you run RTXI.
The most important test is the latency test. It measures the latency, or the difference in time between the expected switch time and the time a task is actually called by the scheduler. It is essentially a measure of the delay when a task is supposed to run and when it actually runs.
For a system to run in real-time, the latency values must be below the frequency at which a task must be run. For example, to run something in real-time at 20 kHz, the latencies must remain below 50 us. Failure to do so constitutes an overrun. The latency test will perform latency calculations repeatedly default 10 kHz until stopped. The test prints one line every second and gives you the minimum, average, and maximum latencies for that period as well the minimum and maximum overall latencies that occurred over the entire test.
Open up some other programs, copy some files from one location to another, and load the network connection to see how it affects the latency. The system's real-time performance is limited by the maximum latency the 'lat worst' column. You should not any overruns, meaning that the latency completely exceeds the nominal period. Negative time values in the latency test is due to the fact that Xenomai performs a calibration at startup that tries to minimize the jitter in the real-time task and anticipates the call.
You can correct this behavior by running as root :. There are many factors that affect your real-time performance, which do not necessarily depend on your absolute processor speed. For simple applications such as a single ion channel, similar results can be obtained on MHz or 2 GHz processors. The limiting factors actually involve the design of the motherboard and chipset, the cost of reading and writing to a DAQ card, and the cost of accessing the hard disk when streaming data.
Multi-processor systems or multicore processors also operate differently than single processors. RTXI allows the system to distribute processes among individual cores and does not assign any operations to particular cores.
Generally, you'll get the best RT performance from your system if you disconnect from your network, especially if is a wireless network, and to plot only the minimum number of signals in the Oscilloscope module as possible.
If you periodically see an overrun perhaps every 64 seconds that results in a maximum latency of several hundred microseconds, you may have an SMI System Maintenance Interrupt issue. This feature can be found on certain chipsets e. Intel Disabling SMI can cause some computers to overheat and may damage those computers.
If you have disabled all of these in the kernel already, check your BIOS and see if you can disable them there. Although RTXI is dependent on Linux, it is a complete desktop application and configuration of system settings and interaction with most features are available through a graphical user interface.
The File Menu is used to save and load settings files that capture the entire working environment. This includes settings configured in the System Control Panel, such as channel gains, parameters set within modules, and connections between modules. Reloading a settings files will also restore the window sizes and positions at the time the file was created.
Recently used settings files are also available from this menu. The Modules Menu is used to load user modules. The Control Panel is used to configure channels and set the nominal system period or sampling rate. The Oscilloscope is the digital oscilloscope that can be used to plot any signal in real-time. The Connector is used to specify connections between modules and the DAQ card. There is also a Preferences panel for specifying commonly used directories, etc.
You can view the version number of your RTXI installation and the version of Qt used to build the user interface. Also included is a link to our documentation website and a link to our GitHub repository where you can report any issues you have with your system. All settings edited in each of these modules can be saved and reloaded via workspaces. The System Control Panel allows you to set important parameters on all the input and output channels of your DAQ card and set the nominal real-time period of your system.
To keep the number of RT events to a minimum, all changes made in the Control Panel are not set until the Apply button is pressed. You can use either the Frequency or Period entry boxes to set the real-time period. After you enter the value, hit Apply to set your changes.
The Channel submenu lists all avaiable analog input and output channels for the specified DAQ device. Picking a particular channel will allow you to activate the channel and also set the parameters of that channel via the Range , Scale , and Offset menus below. In order to change the analog input configuration for the selected channels in the Analog Inputs tab of the HIL Initialize , set the Analog input channels field to the analog input channels on the board for the current diagram, and then set the Analog input configurations field to the desired configuration.
For example, enter [0 1 2] in the Analog input channels field and [0 0 2] in the Analog input configurations field, to set channel 0 to referenced single-ended, channel 1 to referenced single-ended, and channel 2 to differential. Differential for the first four channels, referenced single-ended for the next four channels. Differential for eight channels followed by referenced single-ended for eight channels.
For instance, channels , , and are differential. Channels , , and are referenced-single ended. Note that when configuring for differential inputs, the positive and negative pairs of the signals must be connected as indicated above.
For example for cards that have 32 analog input channels, and if you want to use the maximum number of differential inputs i. The second differential input's positive line must be connected to channel 1, and negative line to channel 9. This continues for the first eight differential inputs. Then the ninth differential input's positive line must be connected to channel 16, and negative line to channel The tenth differential input's positive line must be connected to channel 17, and negative line to channel This continues for the remaining channels.
In order to read the differential input values, the input channels must be set to [, ]. For example, enter to designate lines 2 through 5 as digital inputs. Specify [0, 4, 5] to indicate that lines 0, 4 and 5 are to be configured as digital inputs. For example, enter to designate lines 2 through 5 as digital outputs.
Specify [0, 4, 5] to indicate that lines 0, 4 and 5 are to be configured as digital outputs. To set the digital output values when the model is loaded or unloaded, set the Initial digital outputs and Final digital outputs to the desired values respectively. If the vectors specified in these fields are shorter than the channel vector then the value of the last element in the vector will be used for the rest of the channels.
Hence, a scalar value will apply to all channels specified in the Digital output channels field. Note that since this card uses its counters for both encoder inputs and PWM outputs, you can only use a counter as either an encoder input or a PWM output channel.
In order to set the encoder counters to a particular count or to change the default quadrature when the model is loaded, the encoder inputs must be configured on the HIL Initialize block's Encoder Inputs tab. Set the Encoder input channels field to all the encoder channels that will be used on the board for the current diagram.
If the vectors specified in these fields are shorter than the channel vector, the value of the last element in the vector will be used for the rest of the channels. Hence, a scalar value will apply to all channels specified in the PWM output channels field. Furthermore, a value of 0 for frequency is also not acceptable. When in duty cycle mode, the acceptable range of duty cycles are:. Note that the PWM signal period is the frequency inverted. Therefore, the acceptable value for duty cycle is related to the frequency at which the signal is being generated.
In frequency mode, the acceptable range of frequencies are related to the duty cycle of the signal and are as follows:. As mentioned earlier in this section, the counters cannot be used as both encoder inputs and PWM outputs.
Attempting to do so would produce an error message. Also, a frequency or a period with value of 0 is also unacceptable. However, attempting to command a value which is out of range would not produce an error.
The driver would simply saturate the value at the limits. All of the options follow the form:. Multiple options are entered on the same line separated by semicolons. Note that there are no spaces in the line. The options and their values are not case sensitive for the National Instruments boards. The following are the available options and valid values for this board. Fully supported.
Not supported. Supported with no communication to the hardware. This page was generated Submit feedback to Quanser about this page. Link to this page. For devices with 8 channels:.
0コメント