In this project, I designed HMIs to communicate with a Programmable Logical Controller (PLC) or other industrial equipment in order to modify and manage its internal information. This was followed by the creation of 6-layer circuits based on LPC3250 (IC, ARM9) with Allegro, and then the development of an embedded LDD to comply with the functions of communication, display, and so on. Moreover, I wrote the algorithm of Communication Protocol Reconfiguration (CPR) to enhance the portability of the software system. This project was cooperated with Huangshi Kewei Electronics Co., Ltd. and they were responsible for HMIs production. Moreover, HMIs became the key products of the company and earning significant profits because my excellent design.
During this project I came across several problems. Firstly, as different protocols should be developed for different equipment, it is necessary to design the algorithm to realize CPR, which was difficult for me. With the guide of Professor X. Huang, I designed a circuit to obtain the data frames and sum up the features of communication protocol. In the end, I developed the algorithm of CPR with this summary of data frames, and then transplanted them into the Embedded Linux kernel. Secondly, I gained understanding that the transplanted code data of the protocols cannot be located in the Embedded Linux kernel, which is essential in CPR. The functions in these codes are essentially called by physical address, while I regularly accessed the memory resource by virtual address. After reading the source code on memory management (mm) in Linux Kernel, treating the protocols as a LDD, which can easily be located in an embedded system, was deemed appropriate. Through this method, I eventually discovered the function of CPR in embedded Linux.