色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 學(xué)習(xí)方法與實(shí)踐 > PIC單片機(jī)軟件異步串行口實(shí)現(xiàn)技巧

          PIC單片機(jī)軟件異步串行口實(shí)現(xiàn)技巧

          ——
          作者:美國微芯科技咨詢(上海)有限公司 張明峰 時(shí)間:2007-12-29 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 收藏

                 在用開發(fā)各種應(yīng)用系統(tǒng)時(shí),串行通信是經(jīng)常要用到的一種通信模式,很多應(yīng)用中還要求實(shí)現(xiàn)多路串行通信。大家平時(shí)熟悉的各種廠家的,絕大部分片上只提供一個(gè)硬件UART模塊,利用它可以方便實(shí)現(xiàn)一路串行通訊。

                  系列也不例外,在其豐富的產(chǎn)品家族成員中,除高端系列(17/18)一些型號片上帶有兩路硬件UART模塊外,其它大部分型號片上只有一路UART,一些低端廉價(jià)的單片機(jī)甚至還不帶硬件UART。為了提高系統(tǒng)的性能價(jià)格比,就要求設(shè)計(jì)工程師用增加實(shí)現(xiàn)一路或多路串行通信。很多工程師對用實(shí)現(xiàn)的UART在可靠性和效率方面持懷疑態(tài)度,其實(shí)關(guān)鍵問題是看采用何種方式來實(shí)現(xiàn)可靠的UART功能。 
            

                 在討論具體實(shí)現(xiàn)方式前,我們先來簡單回顧一下異步串行通信的格式定義。發(fā)送一個(gè)完整的字節(jié)信息,必須有“起始位”、“若干數(shù)據(jù)位”、“奇偶校驗(yàn)位”和“停止位”;必須定義每位信息的時(shí)間寬度——每秒發(fā)送的信息位個(gè)數(shù),即為“波特率”。單片機(jī)系統(tǒng)中常用的波特率從300~19 200 b/s。當(dāng)波特率為1200b/s時(shí),每個(gè)信息位的時(shí)間寬度為 1/1200≈833μs;無數(shù)據(jù)通信時(shí),數(shù)據(jù)線空閑狀態(tài)應(yīng)該是高電平,“起始位”為低電平,數(shù)據(jù)位低位先發(fā)且后跟奇偶校驗(yàn)位(若有),“停止位”為高電平,如圖1所示。


                       
                                                 圖1

            按圖1最基本的異步串行通信時(shí)序,軟件實(shí)現(xiàn)UART在不同架構(gòu)的單片機(jī)上有多種方法。其中數(shù)據(jù)接收是關(guān)鍵,因異步通信沒有可參照的時(shí)鐘信號,發(fā)送方隨時(shí)都可能發(fā)送數(shù)據(jù),任何時(shí)刻串行數(shù)據(jù)到來時(shí),系統(tǒng)都應(yīng)該及時(shí)準(zhǔn)確地接收。比較而言,本機(jī)發(fā)送串行數(shù)據(jù)相對容易,只要對發(fā)送出去的電平做持續(xù)時(shí)間的定時(shí)即可。按不同的接收技巧并針對PIC單片機(jī)的特點(diǎn),這里介紹兩種常用且十分可靠的方法。

            1  三倍速采樣法

            三倍速采樣法顧名思義就是以三倍于波特率的頻率對接收引腳Rx進(jìn)行采樣,保證檢測到“起始位”,又可以調(diào)整采樣的時(shí)間間隔;將有效數(shù)據(jù)位的采樣點(diǎn)控制在碼元的中間1/3處,最大限度地減少誤碼,提高接收的準(zhǔn)確性。我們把圖1的起始位和部分?jǐn)?shù)據(jù)位放大,如圖2所示,把每個(gè)信息位分成三等份,每等份的時(shí)間寬度設(shè)為ts,以方便分析。


                   
                                                   圖2

            以三倍頻對信息位進(jìn)行采樣時(shí),每個(gè)信息位都將可能被采樣到三次。當(dāng)處于空閑狀態(tài)并檢測起始位時(shí),最早檢測到起始位低電平的時(shí)刻必將落在S0陰影區(qū),雖然每次具體的采樣點(diǎn)會在此S0陰影區(qū)隨機(jī)變化。檢測到起始位低電平后,間隔4

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

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

          關(guān)閉