基于嵌入式Linux的遠程數(shù)據(jù)采集系統(tǒng)
在 ADS8344 與S3C2410 的連接圖中,S3C2410 的連接端都是通用的IO 信號。S3C2410 的IICSCL 接ADS8344 的片選信號,低電平有效。S3C2410 的nCD_SD 信號接ADS8344 的 數(shù)據(jù)輸入信號Din,當片選信號是低電平時,數(shù)據(jù)將在DCLK 的上升沿被鎖存。S3C2410 的 WP_SD 信號接ADS8344 的串行數(shù)據(jù)輸出信號Dout,當片選信號是低電平時,數(shù)據(jù)將在 DCLK 的上升沿被鎖存。S3C2410 的SDDATA3 信號接ADS8344 的忙信號BUSY。S3C2410 的IICSDA 信號接ADS8344 的DCLK 信號,最大的轉(zhuǎn)換頻率可達100K[2]。
2.3 網(wǎng)絡(luò)接口設(shè)計
系統(tǒng)采用 Cirrus 公司的CS8900 網(wǎng)絡(luò)接口芯片。CS8900 以太網(wǎng)接口芯片的內(nèi)部集成 RAM、10BASE-T 收發(fā)濾波器,它提供8 位和16 位兩種接口,我們選用16 位模式,網(wǎng)卡芯 片復(fù)位默認工作方式為I/O 連接,寄存器的默認基址是300H[1]。因為CS8900 占用了S3C2410 的片選線nGCS3,則CS8900 寄存器的基址空間為0X6000000+300H。CS8900 與S3C2410 的 連接如圖3 所示。
3 軟件設(shè)計
3.1 系統(tǒng)軟件平臺配置
3.1.1 嵌入式Linux 的移植
首先在一臺 PC 機上安裝Linux 系統(tǒng),從網(wǎng)絡(luò)上下載交叉編譯需要的軟件包:linux-2.6.16 內(nèi)核、gcc-3.4.4 編譯器、glibc-2.3.3 編譯器、binutils-2.16 工具包和gdb-* 調(diào)試器。然后一 步步建立交叉編譯環(huán)境,根據(jù)具體目標平臺對與體系結(jié)構(gòu)相關(guān)的源碼進行必要的修改,對內(nèi) 核裁減、編譯,生成一個內(nèi)核映象文件。最后將內(nèi)核及根文件系統(tǒng)燒寫到目標平臺。
3.1.2 網(wǎng)絡(luò)設(shè)備驅(qū)動程序
CS8900 驅(qū)動程序是本系統(tǒng)的重要組成部分。所有的Linux 網(wǎng)絡(luò)驅(qū)動程序都遵循通用的 接口,對每個網(wǎng)絡(luò)接口都用一個device 數(shù)據(jù)結(jié)構(gòu)表示,網(wǎng)絡(luò)設(shè)備使用網(wǎng)絡(luò)接口管理表 dev_base,它是一個device 結(jié)構(gòu)的指針。Linux 網(wǎng)絡(luò)各層之間的數(shù)據(jù)傳輸都通過sk_buff(套 接字緩沖區(qū))完成的,每個sk_buff 包括一些控制方法和一塊緩沖區(qū),這個區(qū)域存放網(wǎng)絡(luò)傳 輸?shù)臄?shù)據(jù)包[3]。內(nèi)核的驅(qū)動程序接口包括:打開函數(shù)、關(guān)閉函數(shù)、探測函數(shù)、發(fā)送函數(shù)、接 收函數(shù)、中斷處理函數(shù)和其它函數(shù);參考CS8900 技術(shù)文檔,通過編寫這樣一系列函數(shù)來實 現(xiàn)具體的功能。
3.1.3 Qt/Embedded 開發(fā)
Qt/Embedded 是一個為嵌入式設(shè)備上的圖形用戶接口和應(yīng)用開發(fā)而訂做的C++工具開 發(fā)包。Qt 的C++類庫封裝了適應(yīng)不同操作系統(tǒng)的訪問細節(jié),它通??梢赃\行在多種不同的 處理器上部署的嵌入式Linux 操作系統(tǒng)上。除了類庫以外,Qt/Embedded 還包括幾個提高開 發(fā)速度的工具,使用標準的Qt API,可以熟練的在Windows 和Unix 編程環(huán)境里開發(fā)應(yīng)用程 序。下載tmake1.11、Qt/Embedded2.3.7 和Qt2.3.2 for X11 這樣幾個安裝包,根據(jù)開發(fā)者具體 的開發(fā)環(huán)境,在Linux 系統(tǒng)的PC 機上建立起Qt/Embedded 開發(fā)環(huán)境,通過qmake 和Qt designer 這兩個工具可以快速的開發(fā)出簡潔精美的界面。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論