DE248 Home Page
(Last Modified: 04 November 2010 06:08:55 PM )
The DE248 Drive Electronics was developed to fill a growing need for more flexible and advanced testing capabilities at Black Forest Engineering. Initially focused on the BFE248 imaging readout ASIC but expanded several times since to support other chips, the DE248 provides several options to the user either intrinsically or through relatively simple firmware changes. It also leaves open the option to implement more complex capabilities that can either sit in parallel with the existing capabilities or be integrated with them.
Control of the DE248 is carried out via a read/write register interface over an RS232 serial link using simple ASCII command strings. As such, it is compatible with using simple applications such as Microsoft HyperTerminal, applications such as Excel by way of VBA, or standalone programs written in any language supporting serial communications.
Following are brief descriptions of the main features and capabilities of the DE248.
The DE248 is implemented using the Digilent Digilab II (D2) board and, optionally, the DIO2 interface board. Both of these boards have been obsoleted by Digilent but, for the foreseeable future, are still being produced and sold by them.
To provide a hard partition between the on-chip operation and the host interface, all interaction between the host and the on-chip modules is done via the HOST/FPGA Register Space. This space provides a number of HOST registers (64 in the normal configuration) that the HOST can write to and that the modules on the FPGA can read and act upon. It also provides a number of FPGA register (64 in the normal configuration) that the modules on the FPGA can write to and that the HOST can then read. The HOST can also read the contents of the HOST registers so that the HOST application does not have to maintain an image of the registers, although the communications overhead will frequently argue in favor of doing so anyway.
The Physical Layer (PHY) of the communications link is a standard RS-232 using a straight through connection. The HOST is the DTE and the DE248 is the DCE. As such, a straight-through DB-9 cable must be used - i.e., do not use a Null Modem cable.
The UART on the DE248 is normally configured to transfer data at 115kbaud using 8 data bits, 1 start bit, 1 stop bit, and 0 parity bits. Data is transferred LSB first. Software flow control is used (i.e., Xon/Xoff).
The DE248 contains an SPI Master that can be configured for all four recognized modes of operation and for variable lengths and speeds. In addition, the polarity of each of the signals is individually selectable as is the transfer direction.
The DE248 contains programmable signal generators permitting the user to easily generate repetitive pulse signals synchronized to common clock and counter. The user programs the count values at which the signal it so be asserted and deasserted as well as the polarity of the signal. The generators also possess the ability to be overridden and controlled directly by the HOST.
The DE248 contains an interface to an external memory module. The normal use of this module is to store commands that are transmitted over the SPI interface to the device under test under the control of the Loop Controller. However, it can also be used to store data from the device under test for export to the HOST.
The Loop Controller on the DE248 provides the user with the ability to carry out repetitive actions, primarily the transmission of SPI commands, with little effort. The Loop Controller consists of three nested loop counters with the inner loop usually corresponding to events that occur within a frame, the middle loop usually corresponding to events that occur between frames, and the outer loop usually corresponding to events that occur either only once, such as initialization commands, or only after every Nth frame such as resynchronization or reconfiguration commands.
The DE248 supports most of the features found on the Digilent DIO2 expansion board including the switches, push buttons, seven segment display, and LED bank. The LCD display is not supported at this time. The DIO2 board was the initial user interface and has since been replaced by the RS-232 interface. As a result, development on the DIO2 interface was halted before it was completely finished and is unlikely to resume. In fact, as resources become more scarce it will most likely be removed from the system altogether.
Two 8-bit test output ports are implemented in the DE248. Each port is driven by a 16:1 multiplexer permitting 32 8-bit vectors (256 different signals) to be made available to the external world. The HOST can select which vectors are made available is done. Most of the vectors are presently defined, however they were defined to facilitate development of the DE248 and may be redefined easily by the user in the firmware.
The binary counter module on the DE248 is HOST configurable to be of arbitrary length and run at arbitrary divisions of the master clock.
A module can be switched into the output path of the binary counter that converts the output to a reflected gray code.
A gray code to binary converter is available in case it is needed. Since the details of its use are highly application-specific, using it will normally require firmware changes to place hook up its inputs and outputs correctly.