基于Linux系統的嵌入式工控量熱儀設計與實(shí)現
現在大多數的發(fā)電廠(chǎng)、煤炭礦廠(chǎng)以及各大小級別實(shí)驗室中所使用的工控量熱儀都是這樣的一個(gè)框架:完成儀器試驗測試控制的下位機控制模塊;提供人機交互,傳輸和接收命令、數據的上位機模塊;以及兩模塊間的連接通信設備。在此系統中下位機通常使用的是單片機來(lái)完成對試驗儀器的控制,并負責從通信設備 usb68013接收到數據,提取相應的試驗控制命令來(lái)控制儀器試驗。這里主要討論的是系統上位機的構建和實(shí)現,對下位機不做進(jìn)一步的討論了。那么對于系統的上位機通常的做法就是使用 pc機,當然,通用 pc機有著(zhù)豐富的資源,不管是它的 cup時(shí)鐘頻率、內存資源、以及對系統各種軟硬件管理的能力等,都有著(zhù)其它替代品不可比擬的優(yōu)勢。但是,使用 pc作為設備的上位機,一個(gè)昀大的缺點(diǎn)就是它體積大、不便攜等,同時(shí),隨著(zhù)儀器生產(chǎn)商為了能降低生產(chǎn)成本,因此,在能完成儀器整體功能的同時(shí),極力的去尋找使儀器體積小、便攜、近似 pc機功能的上位機系統。因此,基于 arm嵌入式系統應用于這樣的儀器上就是個(gè)非常好的方案。
2 系統設計方案
嵌入式工控量熱儀必須要在追求儀器設備體積小、便攜的基礎上,力求實(shí)現原來(lái)量熱儀設備相應的功能,因此,得到下面幾點(diǎn)設計方案:
①使用主頻盡可能高的微處理芯片,同時(shí)具有很好的內存管理功能;
②對于片上資源和各種外設的接口的擴展??紤]到數據存儲、內核、文件系統、圖形庫及應用程序在系統中所占資源,選用合適的 Flash閃存和 SDRAM;同時(shí),與外圍儀器的連接通信擴展出一個(gè) USB Host接口、一個(gè)網(wǎng)口 RJ45、一個(gè)標準串口等;
③為了實(shí)現人機交互和儀器的便攜,系統中設計出觸摸屏式高級用戶(hù)交互圖形操作界面;
2.1系統硬件框架圖
本文引用地址:http://dyxdggzs.com/article/152018.htm如上圖,系統上位機中使用的微處理芯片是三星公司的 arm920T S3C2410A;Flash存儲器采用 Samsung公司的 K9F1208U0M Nand Flash存儲器,存儲容量為 64MB,這種非易失性存儲器是高數據存儲密度的理想解決方案,它能擦寫(xiě)一百多萬(wàn)次,具有很長(cháng)的使用壽命; SDRAM存儲器采用 HY57V561620CT,在此使用兩塊,每塊大小為 32MB;為了實(shí)現人機交
互,以及從系統便攜等方面考慮,系統使用了觸摸屏,當然還擴展出串口、網(wǎng)口等,以上就是整個(gè)系統上位機的硬件框架。上位機和下位機間的通信設備使用的是 EZ-USB68013,它負責從上位機接受數據和命令,并把下位機實(shí)驗數據以及各種狀態(tài)返回到上位機,而它在 linux下驅動(dòng)編寫(xiě)和移植留到下面再討論。
2.2系統上位機軟件組成
針對上面所討論的系統硬件構成,以及系統所要完成的功能,下面對系統上位機的軟件組成進(jìn)行討論。如下是系統上位機的軟件組成:
2.2.1嵌入式操作系統設計與移植
在整個(gè)系統的設計與實(shí)現中內核的配置和移植是非常重要的,本系統使用的是韓國 mizi公司免費提供的嵌入式 linux操作系統,本操作系統體積小、方便剪裁,同時(shí)它又包含了現有使用的大部分外圍設備的驅動(dòng),因此,使用此操作系統可以降低開(kāi)發(fā)成本、加快系統的開(kāi)發(fā)。Arm-linux嵌入式操作系統的移植主要包括如下幾步:①建立交叉編譯環(huán)境。交叉編譯環(huán)境的建立是進(jìn)行 arm嵌入式項目開(kāi)發(fā)的基礎,它的搭建主要需要三個(gè)軟件包:binutils、 gcc、glibc。其中 binutils主要用于生成一些輔助工具,如 objdump、as、ld等;gcc是用來(lái)生成交叉編譯器 arm-linux-gcc;glibc主要提供用戶(hù)程序所使用的一些基本的函數庫。當然,交叉環(huán)境的搭建是比較復雜的,很多步驟都涉及到硬件平臺的選擇,因此,本系統使用的是成都博睿公司所提供的交叉編譯器,而對交叉環(huán)境的具體搭建這里就不作進(jìn)一步的討論了。
②修改配置文件,配置內核。修改配置文件使系統啟動(dòng)時(shí)自動(dòng)掛載 devfs文件系統,配置內核使內核支持 yaffs文件系統。③根據系統需求添加相應的外圍設備的驅動(dòng)。本系統中使用了 EZ-usb68013來(lái)實(shí)現上、下位機的數據通信,那么就必須要在上位機中添加該通信設備的驅動(dòng)。如下是在嵌入式 linux操作系統中 EZ-usb68013設備驅動(dòng)添加的步驟:首先,通過(guò)修改內核中/driver/usb下的 usb-skelon.c文件,在 usb-skelon.c中添加 EZ-usb68013設備的 PID和 VID,并修改該目錄下的 config.in和 Makefile文件,各添加一行內容,分別為:“dep_tristate ' USB 68013 driver support' CONFIG_USB_68013 $CONFIG_USB”和 “obj-$(CONFIG_USB_68013)+= usb68013.o”,這樣就把 EZ-USB68013設備驅動(dòng)編譯進(jìn) Linux內核(當昀后系統啟動(dòng)后,在/dev/usb下出現 EZ-usb68013的設備節點(diǎn) skel0);然后,選中內核對應的配置選項,編譯后生成內核的移植鏡像文件。
評論