基于ARM7系列處理器的高性能數據采集系統(tǒng)開發(fā)探索方案
4軟件設計部分
軟件部分要分別編寫S3C4510B部分的程序和CPLD控制程序。前者可分為μC/OSII的移植和各個應用程序的編寫,后者用VHDL語言實現(xiàn)。
對于S3C4510B部分,根據整個裝置實現(xiàn)的功能和對他的要求進行系統(tǒng)任務分割,并根據實際需要為各個任務分配優(yōu)先級。系統(tǒng)大致可分為如下幾個任務:初始化CPLD控制參數;對FI FO的讀取;與上位機的TCP/IP通訊;與上位機的串口通訊。對應每個任務,需要編寫相應的應用程序,軟件設計部分的關鍵技術有:
(1)μC/OSII內核向S3C4510B中的移植,要根據處理器的特點合理地修改μC/OS II的3個與處理器相關的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.C。主要是將文件中的匯編指令,改為ARM7的匯編指令,并根據CPU的特點對文件中寄存器的初值進行改寫。
(2)內存配置問題。對于存儲器容量的設計,要綜合考慮μC/OSII內核代碼和應用程序代碼的大小。每個任務是獨立運行的,必須給每個任務提供單獨的??臻g(RAM),RAM總量的計算公式為:
RAM總量=應用程序的RAM需求+內核數據區(qū)的RAM需求+各任務棧需求之總和+最多中斷嵌套所需堆棧
(3)TCP/IP協(xié)議在μC/OSII中的實現(xiàn)。為了滿足嵌入式設備與Internet網絡直接交換信息的要求,在μC/OSII中又移植了LwIP協(xié)議棧。
LwIP是瑞士計算機科學院(Swedish InSTitute of Computer Science)的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。LwIP的含義是Light Weight(輕型)IP協(xié)議。LwIP可以移植到操作系統(tǒng)上,也可以在無操作系統(tǒng)的情況下獨立運行。LwIP TC P/IP實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎上減少對RAM的占用,一般他只需要幾十k的RAM和40 k左右的ROM就可以運行,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。
LwIP的特性有:支持多網絡接口下的IP轉發(fā);支持ICMP協(xié)議;包括實驗性擴展的的UDP(用戶數據 報協(xié)議);包括阻塞控制、RTT估算、快速恢復和快速轉發(fā)的TCP(傳輸控制協(xié)議);提供專門的內部回調接口(raw API)用于提高應用程序性能。
LwIP可以很容易地在μC/OSII的調度下,為系統(tǒng)增加網絡通信和網絡管理功能。LwIP協(xié)議棧在設計時就考慮到了將來的移植問題,他把所有與硬件,OS,編譯器相關的部份獨立出來,放在/src/arch目錄下。因此LwIP在μC/OSII上的實現(xiàn)就是修改這個目錄下的文件,其他的文件一般不應該修改。在驅動中主要是根據S3C4510B內的以太網控制特殊功能寄存器,編寫網絡接口的處發(fā)送包、接收包函數,初始化以及用于以太網控制器的外部中斷服務程序。
5結語
采用基于ARM7的S3C4510B嵌入式微處理器,可以使系統(tǒng)小型化,便于提高性能以及與各種外設連接擴展,同時降低了成本。μC/OSII作為一個源代碼公開的操作系統(tǒng),在具體應用種穩(wěn)定可靠。本系統(tǒng)采用ARM7+μC/OSII開發(fā)設計,具有精度高、運行穩(wěn)定、實時性好、抗干擾能力強、性價比高的特點,可以在各種工業(yè)場合中廣泛應用,達到了設計的初衷。
評論