新聞中心

        ARM·串行接口電路

        作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
        *在通信領(lǐng)域內(nèi),有兩種數(shù)據(jù)通信方式:并行通信和串行通信
        *串口的數(shù)據(jù)傳輸是以串行方式進(jìn)行的。串口在數(shù)據(jù)通信中,一次只傳輸一個(gè)比特的數(shù)據(jù)。
        *串行數(shù)據(jù)的傳輸速度用bps或波特率來(lái)描述
        【UART】
        發(fā)送數(shù)據(jù)時(shí),CPU將數(shù)據(jù)寫入U(xiǎn)ART,UART按照一定的格式從一個(gè)管腳TxD上串口發(fā)出;
        接受數(shù)據(jù)時(shí),UART檢測(cè)另一個(gè)管腳RxD上的信號(hào),將串行數(shù)據(jù)放在緩沖區(qū)中,CPU即可讀。
        (UART之間是以全雙工方式傳輸數(shù)據(jù))
        UART使用標(biāo)準(zhǔn)TTL/CMOS邏輯電平表示數(shù)據(jù)
        *0-5v,0-3.3v,0-2.5v或0-1.8v
        *高電平表示1,低電平表示0
        但是在外圍電平中,為了增強(qiáng)數(shù)據(jù)的抗干擾能力、提高傳輸長(zhǎng)度,通常將TTL/CMOS邏輯電平轉(zhuǎn)換為RS-232邏輯電平。例如可使用電平轉(zhuǎn)換芯片:MAX3232
        RS-232邏輯電平(反邏輯)
        3-12V:表示0
        -3~-12V:表示1
        傳輸數(shù)據(jù)前的準(zhǔn)備(約定好波特率和傳輸格式)
        *有多少個(gè)數(shù)據(jù)位
        *是否使用校驗(yàn)位
        *是奇校驗(yàn)還是偶校驗(yàn)
        *有多少個(gè)停止位
        【奇校驗(yàn)/偶校驗(yàn)】
        奇校驗(yàn):就是讓原有數(shù)據(jù)數(shù)列中,(包括你要加上的一位)1的個(gè)數(shù)為奇數(shù) ;
        1000110(0)你必須添0這樣原來(lái)的3個(gè)1已經(jīng)是奇數(shù)了所以添上0還是奇數(shù) ;
        偶校驗(yàn):就是讓原有數(shù)據(jù)序列中,(包括你要加上的一位)1的個(gè)數(shù)為偶數(shù) ;
        1000110(1)你必須加1了這樣原來(lái)的3個(gè)1已經(jīng)是奇數(shù)了所以添上1還是奇數(shù) ;
        【停止位】
        有效幀之間的空閑位 ;
        【異步數(shù)據(jù)傳輸方式】

        發(fā)送數(shù)據(jù)時(shí),SOC先講數(shù)據(jù)寫入發(fā)送FIFO中,然后UART會(huì)自動(dòng)將FIFO的數(shù)據(jù)復(fù)制到發(fā)送移位器中,發(fā)送移位器將數(shù)據(jù)一位一位的發(fā)送到TxDn數(shù)據(jù)線上
        接受數(shù)據(jù)時(shí),接收移位器將RxDn數(shù)據(jù)線上的數(shù)據(jù)一位一位的接收進(jìn)來(lái),然后復(fù)制到接受FIFO中,SOC即可從中讀取數(shù)據(jù)
        【硬件流控制】
        *如果打開串口硬件流程控制后,串口A只有在nCTS被(串口B的nRTS)激活后才能把數(shù)據(jù)發(fā)送出去 ;
        *當(dāng)串口A可以接受數(shù)據(jù)時(shí),激活nRTS,準(zhǔn)備好接受數(shù)據(jù)

        【UBRDIVn】
        *在UART模塊中有三個(gè)UART波特率除數(shù)因子寄存器UBRDIV0,UBRDIV1,UBRDIV2,存儲(chǔ)在波特率除數(shù)寄存器UBRDIVn中的值用于決定波特率
        UBRDIVn = (int)(UART Clock / (buad rate*16))- 1
        【ULCON】

        【UCONn】(選擇UART時(shí)鐘源、設(shè)置UART中斷方式)

        【UFCONn】(該寄存器用于設(shè)置是否使用FIFO,設(shè)置各個(gè)FIFO的觸發(fā)深度)
        【UTRSTATn寄存器】
        (用來(lái)表明數(shù)據(jù)是否已經(jīng)被發(fā)送完畢,是否已經(jīng)接收數(shù)據(jù))


        【UTXHn/URXHn】
        UTXHn寄存器:SOC將數(shù)據(jù)寫入這個(gè)寄存器,UART會(huì)將它保存到發(fā)送位移寄存器中,并自動(dòng)發(fā)送出去
        URXHn寄存器:當(dāng)UART收到數(shù)據(jù)時(shí),SOC讀取這個(gè)寄存器,即可獲得數(shù)據(jù)


        關(guān)鍵詞: ARM串行接

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 寿阳县| 自贡市| 平谷区| 庄河市| 隆德县| 平阳县| 祁连县| 龙井市| 云梦县| 甘肃省| 山丹县| 邢台市| 循化| 招远市| 万州区| 醴陵市| 六枝特区| 北辰区| 元朗区| 广南县| 湟中县| 高陵县| 曲水县| 郁南县| 益阳市| 宁安市| 边坝县| 桐梓县| 古田县| 丹寨县| 克东县| 资阳市| 隆尧县| 淮阳县| 乌拉特前旗| 镇远县| 大同市| 阿鲁科尔沁旗| 开阳县| 桦南县| 万荣县|