通用異步收發(fā)� (Universal Asynchronous Receiver/Transmitter) ,它包括了RS232、RS499、RS423、RS422和RS485等接口標(biāo)�(zhǔn)�(guī)范和總線�(biāo)�(zhǔn)�(guī)�,即UART是異步串行通信口的總稱(chēng)。UART是用于控制計(jì)算機(jī)與串行設(shè)備的芯片,是一�(gè)用來(lái)�(jìn)行數(shù)�(jù)交換和跟蹤的兩�(gè)引腳UART,它為現(xiàn)�(chǎng)編程解決方案提供了一�(gè)理想的工��
在嵌入式�(kāi)�(fā)中,�(duì)寄存器的理解和正確配置至�(guān)重要。對(duì)MPC860的UART�(xié)�,有幾�(gè)重要寄存�,它們是:管足配置寄存器、波特率配置寄存�、通信處理命令寄存�、SCC通用模式寄存�、發(fā)送和接收緩沖區(qū)描述器、UART的特定參�(shù)、SCC�(xié)議專(zhuān)用模式寄存器、SCC�(xié)議事件寄存器、UART屏蔽寄存器�
管足配置寄存器一般是針對(duì)收、發(fā)兩根管足,有�(kāi)漏寄存器、數(shù)�(jù)寄存�、數(shù)�(jù)方向寄存�,它們可被設(shè)置為具有串行信道輸出的能力和被設(shè)置為輸入輸出口。波特率配置寄存器負(fù)�(zé)把波特率指向所用的串口和配置波特率大小。通信處理命令寄存器主要用于判斷命令的�(fā)出是否和阻止傳�。SCC通用模式寄存器主要用于協(xié)議的選擇和傳輸格式的配置。發(fā)送和接收緩沖區(qū)描述器主要用于收�(fā)�(shù)�(jù)和判斷接收的是地址還是�(shù)�(jù),數(shù)�(jù)的錯(cuò)誤情況等。UART的特定參�(shù)用來(lái)部分初始化UART。SCC�(xié)議專(zhuān)用模式寄存器主要用于�(shè)置UART處于自動(dòng)多站和非自動(dòng)多站模式。事件寄存器主要用于判斷是收中斷還是�(fā)中斷。屏蔽寄存器主要用于�、發(fā)使能�
1、將由計(jì)算機(jī)�(nèi)部傳送過(guò)�(lái)的并行數(shù)�(jù)�(zhuǎn)換為輸出的串行數(shù)�(jù)流�
2、將�(jì)算機(jī)外部�(lái)的串行數(shù)�(jù)�(zhuǎn)換為字節(jié),供�(jì)算機(jī)�(nèi)部使用并行數(shù)�(jù)的器件使��
3、在輸出的串行數(shù)�(jù)流加入奇偶校�(yàn)�,并�(duì)從外部接收的�(shù)�(jù)流�(jìn)行奇偶校�(yàn)�
4、在輸出�(shù)�(jù)流中加入啟停�(biāo)�,并從接收數(shù)�(jù)流中刪除啟停�(biāo)��
5、處理由鍵盤(pán)或鼠�(biāo)�(fā)出的中斷信號(hào)(鍵�(pán)和鼠票也是串行設(shè)備)�
6、可以處理計(jì)算機(jī)與外部串行設(shè)備的同步管理�(wèn)��
有一些比較的UART還提供輸入輸出數(shù)�(jù)的緩沖區(qū),現(xiàn)在比較新的UART�16550,它可以在計(jì)算機(jī)需要處理數(shù)�(jù)前在其緩沖區(qū)�(nèi)存儲(chǔ)16字節(jié)�(shù)�(jù),而通常的UART�8250�
1 通用異步收發(fā)器發(fā)送器 �(fā)送器每隔16�(gè)CLK16�(shí)鐘周期輸�1�,次序遵�1位起始位�8位數(shù)�(jù)位(假定�(shù)�(jù)位為8位)�1位校�(yàn)位(可選)�1位停止位。CPU何時(shí)可以往�(fā)送緩沖器tbr�(xiě)入數(shù)�(jù),也就是�(shuō)CPU要寫(xiě)�(shù)�(jù)到tbr�(shí)必須判斷�(dāng)前是否可�(xiě),如果不判這�(gè)條件,發(fā)送的�(shù)�(jù)�(huì)出錯(cuò)。數(shù)�(jù)的發(fā)送是由微處理器控�,微處理器給出wen信號(hào),發(fā)送器根據(jù)此信�(hào)將并行數(shù)�(jù)din[7..0]鎖存�(jìn)�(fā)送緩沖器tbr[7..0],并通過(guò)�(fā)送移位寄存器tsr[7..0]�(fā)送串行數(shù)�(jù)至串行數(shù)�(jù)輸出端dout。在�(shù)�(jù)�(fā)送過(guò)程中用輸出信�(hào)tre作為�(biāo)志信�(hào),當(dāng)一幀�(shù)�(jù)�(fā)送完畢時(shí),tre信號(hào)�1,通知CPU在下�(gè)�(shí)鐘裝入新�(shù)�(jù)� 2 通用異步收發(fā)器接收器 串行�(shù)�(jù)幀和接收時(shí)鐘是異步�,發(fā)送來(lái)的數(shù)�(jù)由邏�1�?yōu)檫壿?可以視為一�(gè)�(shù)�(jù)幀的開(kāi)�。接收器先要捕捉起始位,確定rxd輸入�1�0,邏�0�8�(gè)CLK16�(shí)鐘周期,才是正常的起始位,然后在每隔16�(gè)CLK16�(shí)鐘周期采樣接收數(shù)�(jù),移位輸入接收移位寄存器rsr,輸出數(shù)�(jù)dout。還要輸出一�(gè)�(shù)�(jù)接收�(biāo)志信�(hào)�(biāo)志數(shù)�(jù)接收�� 3 波特率發(fā)生器 通用異步收發(fā)器的接收和發(fā)送是按照相同的波特率�(jìn)行收�(fā)的。波特率�(fā)生器�(chǎn)生的�(shí)鐘頻率不是波特率�(shí)鐘頻�,而是波特率時(shí)鐘頻率的16倍,目的是為在接收時(shí)�(jìn)行精確地采樣,以提出異步的串行數(shù)�(jù)。根�(jù)給定的晶振時(shí)鐘和要求的波特率算出波特率分頻數(shù)�