新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ADS環(huán)境下基于S3C24 1 0串口應(yīng)用程序的開發(fā)

ADS環(huán)境下基于S3C24 1 0串口應(yīng)用程序的開發(fā)

作者: 時(shí)間:2009-10-23 來源:網(wǎng)絡(luò) 收藏

1 硬件結(jié)構(gòu)
目前大部分是在Windows或是在Dos下運(yùn)用,本文是在Linux系統(tǒng)下利用來實(shí)現(xiàn)通信的。10芯片是三星公司生產(chǎn)的16/32bit的RISC處理器,獨(dú)立的16kB指令和16 kB數(shù)據(jù)的緩存(cache),用于虛擬內(nèi)存管理的MMU單元,LCD控制器(STNTFT),非線性(NAND)FLASH的引導(dǎo)單元,系統(tǒng)管理器(包括片選邏輯控制和SDRAM控制器),3個(gè)通道的異步(UART),每個(gè)控制器支持的最高波特率可以達(dá)到230400 Boud/s,這些特點(diǎn)為實(shí)現(xiàn)在Linux系統(tǒng)下計(jì)算機(jī)與板之間順利進(jìn)行串口通信提供了可靠的保證。WNSC400是北京維納光科公司生產(chǎn)的電動(dòng)位移平臺(tái)控制箱,它擁有RS232的串口能使10通過串口對其進(jìn)行數(shù)據(jù)通信,從而能夠?qū)崿F(xiàn)10對電動(dòng)位移平臺(tái)的控制。但是控制箱是在Windows下實(shí)現(xiàn)的,所以要想把它應(yīng)用到嵌入式系統(tǒng)中是存在難度的。S3C2410的串口要實(shí)現(xiàn)與控制箱的數(shù)據(jù)傳輸,那么就要使控制箱及其控制的電動(dòng)平移臺(tái)實(shí)現(xiàn)與其它模塊組成嵌入式系統(tǒng),比如與一臺(tái)攝像頭聯(lián)系起來,當(dāng)攝像頭對物體進(jìn)行圖像采集后,對采集數(shù)據(jù)進(jìn)行處理,進(jìn)而計(jì)算出目標(biāo)具體要改變的位移等參量,然后控制箱在通過$3C24lO的存儲(chǔ)器中讀取這些數(shù)據(jù),并發(fā)出命令使電動(dòng)位移平臺(tái)按需要的改變量進(jìn)行移動(dòng),這樣就是實(shí)現(xiàn)了一個(gè)簡單的嵌入式系統(tǒng)。計(jì)算機(jī)(宿主機(jī))、目標(biāo)機(jī)(S3C2410)還有控制箱之間連接的硬件原理如圖1所示。在宿主機(jī)上將在下編好的程序通過JTAG下載到S3C2410后,S3C2410就可以通過串口與控制箱進(jìn)行通信。

本文引用地址:http://m.butianyuan.cn/article/152310.htm

2 UART軟件部分的實(shí)現(xiàn)
絕大多數(shù)的Linux軟件都是以native方式進(jìn)行的,即本機(jī)(HOST)、調(diào)試、本機(jī)運(yùn)行的方式,但是由于在目標(biāo)機(jī)上沒有足夠的資源來滿足嵌入式系統(tǒng)的開發(fā),所以這種方式不適合于嵌入式系統(tǒng)的軟件開發(fā)。通常嵌入式系統(tǒng)軟件開發(fā)采用交叉編譯調(diào)試的方法。交叉編譯的主要特征是某機(jī)器中執(zhí)行的程序代碼不是由本機(jī)編譯生成,而是由另外一臺(tái)機(jī)器編譯生成。
串口通信的基本任務(wù)有:實(shí)現(xiàn)數(shù)據(jù)格式化、進(jìn)行串/并轉(zhuǎn)換、控制數(shù)據(jù)傳輸速率、進(jìn)行錯(cuò)誤檢測和進(jìn)行TTl與EIA電平轉(zhuǎn)換。串口通信分為同步通信和異步通信兩種類型,本文將用到異步串行I/0。
由于Linux系統(tǒng)將所有的設(shè)備都看成文件,所以訪問串口時(shí),認(rèn)為串口是一個(gè)文件,我們可以使用文件系統(tǒng)控制函數(shù)實(shí)現(xiàn)基本的串口操作,比如open()函數(shù)用來打開串口,read()和write()函數(shù)用來讀寫串口,在傳輸數(shù)據(jù)完成后可以用close()函數(shù)關(guān)閉串口。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉