1.串行通信概覽
所謂串行通信就是使數(shù)據(jù)一位一位地進(jìn)行傳輸而實(shí)現(xiàn)的通信。當(dāng)然,在實(shí)際傳輸中,如外部設(shè)備與cpu或計(jì)算機(jī)與計(jì)算機(jī)之間交換信息,是通過(guò)一對(duì)導(dǎo)線傳送信息的。在傳輸中每一位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。與并行通信相比,串行通信具有傳輸線少、成本低等優(yōu)點(diǎn),特別適合遠(yuǎn)距離傳送;其缺點(diǎn)是速度慢,若并行傳送n位數(shù)據(jù)需時(shí)間t,則串行傳送的時(shí)間最少為nt。
2.s3c44b0x內(nèi)部集成的uart
s3c44b0x uart單元提供了兩個(gè)異步串口(sio),每個(gè)sio都可以在中斷模式或dma模式下工作,支持波特率最大為115.2kb/s,每個(gè)sio通道都有一個(gè)16字節(jié)的接收與發(fā)送fifo緩沖區(qū)。
每個(gè)uart模塊均包含以下幾個(gè)部件:波特率發(fā)生器、發(fā)送器、接收器和控制單元。波特率發(fā)生器以mclk作為時(shí)鐘源;發(fā)送器和接收器包含16字節(jié)的fifo和移位寄存器。要發(fā)送的數(shù)據(jù)首先被寫入fifo,然后被復(fù)制到發(fā)送移位寄存器中,最后從數(shù)據(jù)輸出端口(txdn)依次被移位輸出;被接收的數(shù)據(jù)也同樣從數(shù)據(jù)接收端口(rxdn)依次被移位輸入到移位寄存器,然后被復(fù)制到fifo中。
uart發(fā)送/接收器提供可編程的波特率,紅外發(fā)送/接收(irda 1.0),1個(gè)開始位,1個(gè)或2個(gè)停止位,5、6、7、8位數(shù)據(jù)位和奇偶校驗(yàn)功能。
發(fā)送器也可以產(chǎn)生暫停條件,強(qiáng)制串口輸出保持在邏輯0狀態(tài)比一幀長(zhǎng)的時(shí)間。
接收器可以檢測(cè)溢出錯(cuò)誤、奇偶錯(cuò)誤、frame錯(cuò)誤和暫停條件,其中每一個(gè)設(shè)置一個(gè)錯(cuò)誤標(biāo)志。溢出錯(cuò)誤在舊的數(shù)據(jù)還沒(méi)有讀取新的數(shù)據(jù)已到達(dá)時(shí)產(chǎn)生;frame錯(cuò)誤是指接收數(shù)據(jù)沒(méi)有收到有效的停止位;暫停條件指示rxdn輸入保持邏輯0狀態(tài)比一幀長(zhǎng)的時(shí)間。
在fifo模式下接收f(shuō)ifo緩沖區(qū)不為空時(shí),在可以接收3個(gè)字的時(shí)間內(nèi)沒(méi)有接收到數(shù)據(jù)稱為接收超時(shí)。