Wireless upgrade of HW over TCP/IP
Loading an FPGA with a new bit file can be difficult when the geographical distance between the workplace and the PCB is a problem. That can cost both time and money. Wouldn’t it be easier if it could be done from home or at the office from any computer? If the bit files were just a mouse-click away from the FPGA? BitSim has worked out a solution for this; the bit file is transmitted using FTP via a dial-up connection to the FPGA. This means that the product can be upgraded without needing anyone on the premises. All that is needed is a regular computer with a modem. The product is fitted out with a GSM-modem and an embedded processor in the FPGA. The processor is soft, i.e. described in the bit file. And there is no need for extra hardware apart from the FPGA.
Design example
- Soft embedded processor (Altera Nios)
- GSM-modem (Ericsson R320S)
- External modem
- FTP-server
- HTTP-server
- File system (resident in Flash)
The system, via FTP, can extract and store bit files for the FPGA as well as executable code for the soft embedded processor. The soft processor, whose resources are only used for updating requirements, executes program code for FTP- and HTTP- server. The remaining time is then free to perform other tasks.
Integration of new products
The system is to be integrated as a block in new designs, therefore not as a product on its own. It is based on an embedded processor and internal/external RAM, both regularly occurring in new FPGA-based products. In addition it requires a GSM-module for communication.
Basic handling
Connection from a computer to the system is done in the same way as a usual internet-connection, i.e. the user creates a new remote connection. Communication is set up over a modem with PPP-connection to the GSM module, which is controlled from the built-in processor in the FPGA. The bit file is sent with a usual FTP program. Since the communication is done with the standard protocol FTP over TCP/IP, the solution is completely platform independent.
Upgrades
If the built-in processor is soft, the processor can also be upgraded with the bit file. The program code can be updated, i.e. the upgrading system itself can be upgraded with improved functionality. Information about existing configurations is shown in a file structure in the FTP program, or in the user's web reader.
Security
Security is the most complex, but at the same time most flexible, issue. Security can be set to any chosen level, which the needs and available development time control.
Example of ideas which are used
BitSim has implemented security on a basic level for the system. Among those demanded is login password protection for gaining access to the hardware. The computer transmits Intel's Hex-file format and Motorola's S-file format, i.e. bit file and program code is sent as bit streams divided into records with check sums. The rebooting of the FPGA and the soft processor happens solely at the given command from the user, so that a broken connection causes no damage. The system has also been provided with a fallback solution, where previous configurations are saved as a backup. If a fault does occur, the system is automatically rebooted with an earlier configuration.
Platform independent
The complex part of security is how to apply it. The idea is that a computer with standard programs should be enough; therefore the FPGA must include all necessary components and protocols that will be used. So no program needs to be written for the computer; this exists already as standard in most operating systems. This means that the amount of product resources used by the security implementation increases as the security level is raised. The security level will be product specific and its resource needs will vary accordingly to the level of platform independency. The following questions need to be answered:
- Which security level does the system need?
- If the system is inaccessible, are redundant fallback solutions needed?
- Should there be authorization and encryption using certificates?
- Is it enough that the data reaches the destination without bit errors?
- Does a soda machine really need encrypted data-transfer?
Where it can be used
The system is not intended to be used, as explained, with any specific product, it is more suitable for specific platforms. The ideal system to use this solution with is an FPGA platform with a soft or hard embedded processor as well as access to internal/external RAM and flash memory for storing the bit files. The cost in that case will be a GSM module, as well as the RAM memory that is required for protocol and data handling. To store the majority of configurations and program codes the system's flash memory is used, whose possible size must be taken into consideration during the design of the platform. When it comes to needs, a product which stands in the work place next to a computer provided with JTAG cables has maybe not the same need for wireless upgrades as a games machine in a pub.
Alternative connection methods
It is not always in everyone's interests to have wireless communication with a product. If it is part of a LAN it can be more effective with an Ethernet product. Is there a telephone connection? Maybe it would be simpler in that case to use a regular modem. Whatever the connection method, the hard- and software are the same. The deciding factor will be the requirement of what is available.