引言
嵌入式系統是“控制、監視或者輔助裝置、機器和設備運行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于應用系統,對功能、對可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。
系統的主要功能是通過計算機可使遠程專家和相關技術人員在異地通過系統的客戶器端監控多臺設備的運行狀態。系統在設備端的服務器端不僅僅承擔一些實時檢測系統狀態的任務。嵌入式系統的核心,是控制、輔助系統運行的硬件單元。范圍極其廣闊,從最初的4位處理器,目前仍在大規模應用的8位單片機,到最新的受到廣泛青睞的32位,64位嵌入式CPU。
1 系統硬件設計
ARM7TDMI核心的S3C44BOX作為微處理器芯片,系統硬件框架結構圖如圖l所示,其電路原理圖如圖2所示。
1.1 存儲模塊設計
系統的FLASH采用的是HY29LV160,容量大小為2M字節,充當S3C44BOX的程序存儲器,其內部存放啟動代碼、uclinux內核、以太網MAC地址以及應用程序等。HY29LV160的單片存儲容量為16M位(2 M字節),工作電壓為2.7 V~3.6 V,采用48腳TSOP封裝或48腳FBGA封裝,16位數據寬度,可以以8位(字節模式)或16位(字模式)數據寬度的方式工作。在本系統設計過程中,考慮到uclinux操作系統帶應用程序的最大容量不會超過l_7 MB,因此,FLASH采用大小為2MB的FLASH存儲器就可以滿足系統的需求。DRAM采用的是HY57V641620,用于設置程序堆棧和存放各種變量。HY57V641620存儲容量為4組x 16 M位(8 M字節),工作電壓為3.3 V,根據系統需求,可構建16位或32位的SDRAM存儲器系統。但為充分發揮32位CPU的數據處理能力,系統采用32位的SDRAM存儲器系統,共16 MB的SDRAM空間。
Flash 是一種創作工具,設計人員和開發人員可使用它來創建演示文稿、應用程序和其它允許用戶交互的內容。Flash 可以包含簡單的動畫、視頻內容、復雜演示文稿和應用程序以及介于它們之間的任何內容。通常,使用 Flash 創作的各個內容單元稱為應用程序,即使它們可能只是很簡單的動畫。您也可以通過添加圖片、聲音、視頻和特殊效果,構建包含豐富媒體的 Flash 應用程序。Flash 特別適用于創建通過 Internet 提供的內容,因為它的文件非常小。Flash 是通過廣泛使用矢量圖形做到這一點的。與位圖圖形相比,矢量圖形需要的內存和存儲空間小很多,因為它們是以數學公式而不是大型數據集來表示的。位圖圖形之所以更大,是因為圖像中的每個像素都需要一組單獨的數據來表示。
1.2 網絡接口模塊設計
系統的網絡接口芯片采用的是RTL8019AS。它是一款10 M以太網芯片,能夠為系統提供以太網的接入。RTL8019AS數據總線寬度為16位。因此設計中將IOCS16B引腳上拉。RTL8Ol9AS內部集成了兩塊RAM。一塊16 kB,地址為0x4000—7FFF;一塊32字節,地址為0x0000一Ox001F。16 k的RAM用作收發數據的緩沖區,一般將0x4000—0x46FF作為發送緩沖區,0x4700—0x7FFF作為接收緩沖區。RTL8019的中斷輸出INTO與S3C44BOX的EINTO端相連。
I0S2上拉,其它懸空,當RTL8019AS的引腳懸空時,引腳的輸入狀態為低電平,里面有一個100 kΩ的下拉電阻,因此IOSO,IOSI,I0S3均為低電平,芯片的I/0基址是200H。片選AEN接處理器的nGCS5也就是Bank5,因此RTL8019在系統中分配的地址范圍為:0xoa000000—0xoc000000。由于數據總線寬度為16位,處理器的A1連接8019的SA0,20F001是網卡濾波器,內部包含一對低通濾波器和一對隔離變壓器。
2 系統軟件平臺的構建
uclinux表示micro-control linux.即“微控制器領域中的Linux系統”,是Lineo公司的主打產品,同時也是開放源碼的嵌入式Linux的典范之作。uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit)的嵌入式系統而設計的。它已經被成功地移植到了很多平臺上。由于沒有MMU,其多任務的實現需要一定技巧。
uclinux經過對標準Linux內核的改動,形成了一個高度優化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,但uclinux仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網絡功能、對各種文件系統完備的支持,以及標準豐富的API,適合遠程配置模塊的建立。
系統采用GNU的套件arm-elf工具鏈:arm—elf-tools-20030314.sh建立對uclinux進行編譯的交叉環境。將arm-elf-tools-20030314.sh拷貝到根目錄,運行安裝:
sh arm-elf-tools-20030314.sh即可對uclinux進行編譯和移植了
交叉編譯成功后,在uClinux-dist/目錄下產生images目錄,其中包含的3個二進制文件文件image.ram,image.rom和romfs.img。
3 系統軟件設計
系統的軟件是實現遠程配置模塊的核心,首先編寫bootloader的過程,以優化系統在開發板上的執行,然后實現了應用程序以及設備驅動程序的開發。應用程序的開發主要是基于Socket應用程序的編寫。
3.1 Bootloader的設計
Bootloader的設計主要是為了在系統上電復位之后,將系統程序執行跳轉到系統內核的執行地點。針對這個主要的功能,必須對微處理器的內核以及其他部分進行初始化以及其它的功能擴展,Bootloader它主要完成了以下幾個過程:
(1)建立中斷向量表
(2)初始化各種處理器模式
(3)引入特殊變量
(4)初始化memory
(5)代碼復制
完成了系統的硬件初始化過程后,將CPU使用權交給了操作系統,從而完成了。Bootloader的最終目的。
3.2設備驅動程序開發
Linux對設備的操作Linux系統訪問設備就像訪問文件—樣。例如打開設備使用系統調用open(),關閉設備使用系統。
-
嵌入式
+關注
關注
5140文章
19524瀏覽量
314752 -
計算機
+關注
關注
19文章
7626瀏覽量
90140 -
微處理器
+關注
關注
11文章
2370瀏覽量
83839
發布評論請先 登錄
ARM CPU S3C44BOX在水表智能抄表系統中的應用
S3C44BOX與LMO57QCIT01的接口方法及其應用
關于三星S3C44BOX目標板的tClinux Bootlo
S3C44BOX在視頻信號模擬器中的應用
基于S3C44BOX的鍵盤接口設計
基于嵌入式微處理器S3C44BOX音頻文件播放
μC/OS-II在S3C44BOX處理器上的移植

微處理器S3C44B0X音頻文件播放

基于S3C44BOX的嵌入式系統設計

基于ARM7的S3C44BOX開發板的智能家居系統

基于ARM的FPGA從串配置方案設計適用于嵌入式系統的應用

評論