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