單片機(jī)模塊的脈寬調(diào)制輸出載波
發(fā)布時(shí)間:2020/7/3 23:15:39 訪問次數(shù):6390
XC68HC705G10在用單片機(jī)開發(fā)各種嵌入式應(yīng)用系統(tǒng)時(shí),異步串行通信是經(jīng)常要用到的一種通信模式,很多應(yīng)用中還要求實(shí)現(xiàn)多路異步串行通信。大家平時(shí)熟悉的各種廠家的單片機(jī),絕大部分片上只提供一個(gè)硬件UART模塊,利用它可以方便實(shí)現(xiàn)一路串行通訊。PIC系列單片機(jī)也不例外,在其豐富的產(chǎn)品家族成員中,除高端系列(PIC17/18)一些型號(hào)片上帶有兩路硬件UART模塊外,其它大部分型號(hào)片上只有一路UART,一些低端廉價(jià)的PIC單片機(jī)甚至還不帶硬件UART。為了提高系統(tǒng)的性能價(jià)格比,就要求設(shè)計(jì)工程師用軟件增加實(shí)現(xiàn)一路或多路異步串行通信。很多工程師對(duì)用軟件實(shí)現(xiàn)的UART在可靠性和效率方面持懷疑態(tài)度,其實(shí)關(guān)鍵問題是看軟件采用何種方式來實(shí)現(xiàn)可靠的UART功能。
三倍速采樣法顧名思義就是以三倍于波特率的頻率對(duì)接收引腳Rx進(jìn)行采樣,保證檢測(cè)到“起始位”,又可以調(diào)整采樣的時(shí)間間隔;將有效數(shù)據(jù)位的采樣點(diǎn)控制在碼元的中間1/3處,最大限度地減少誤碼,提高接收的準(zhǔn)確性。我們把起始位和部分?jǐn)?shù)據(jù)位放大,如圖2所示,把每個(gè)信息位分成三等份,每等份的時(shí)間寬度設(shè)為ts,以方便分析。
在網(wǎng)絡(luò)補(bǔ)充版的程序中,關(guān)鍵部分是TMR0的中斷服務(wù)。TMR0每隔278μs左右中斷一次,TMR0的中斷響應(yīng)即為軟件UART接收和發(fā)送全雙工通信過程的實(shí)現(xiàn)。通過Hitech-PICC高效的代碼編譯后,約有150條單字指令代碼,整個(gè)中斷服務(wù)平均用約35個(gè)指令周期,即實(shí)現(xiàn)一路軟件UART在4 MHz工作頻率下占用MCU約12%的運(yùn)行帶寬。理論上,只要保證MCU留有足夠的運(yùn)行帶寬給其它任務(wù),在此中斷服務(wù)程序內(nèi)把接收和發(fā)送的代碼再?gòu)?fù)制一份或多份(數(shù)據(jù)結(jié)構(gòu)獨(dú)立),即可實(shí)現(xiàn)多路軟件UART。當(dāng)然,如果每路的波特率不同,采樣頻率必須是最高波特率的三倍。不同波特率的采樣點(diǎn)間隔獨(dú)立調(diào)整。
實(shí)現(xiàn)此法的硬件條件是PIC單片機(jī)有外部脈沖下降沿中斷觸發(fā)功能,在中檔以上PIC單片機(jī)中有RB0/INT外部中斷腳,CCP1/CCP2脈沖沿捕捉腳,PORTB的第4/5/6/7電平變化中斷腳等都可以滿足。另外需配備一個(gè)定時(shí)器,以定時(shí)中斷方式對(duì)接收碼元正確采樣,或發(fā)送串行數(shù)據(jù)流。
對(duì)于通信不是很頻繁的系統(tǒng),此軟件UART幾乎不耗MCU運(yùn)行帶寬,9600b/s接收或發(fā)送在4 MHz運(yùn)行的PIC單片機(jī)上即可輕松實(shí)現(xiàn);另外,由于下降沿中斷可以喚醒處于睡眠的單片機(jī),故極易實(shí)現(xiàn)通信喚醒的功能。缺點(diǎn)是不能全雙工通信(除非另外單獨(dú)用一個(gè)定時(shí)器實(shí)現(xiàn)發(fā)送定時(shí)),異步接收的引腳必須有下降沿觸發(fā)中斷的能力。
兩種方法在實(shí)際產(chǎn)品設(shè)計(jì)中都得到了很好的驗(yàn)證,最典型的是紅外線自動(dòng)抄表系統(tǒng)。該系統(tǒng)要求收發(fā)均為38 kHz紅外調(diào)制,串行數(shù)據(jù)1 200bps半雙工通訊。用軟件實(shí)現(xiàn)此UART,并充分利用PIC單片機(jī)CCP模塊的脈寬調(diào)制PWM輸出38 kHz載波時(shí),在單片機(jī)外除了一個(gè)一體化紅外接收頭和一個(gè)紅外發(fā)射二極管,無需其它任何外圍器件,即可完成所有設(shè)計(jì)要求,最大程度地減化了硬件設(shè)計(jì),降低了成本,提高了系統(tǒng)的可靠性和性能價(jià)格比。
(素材來源:21IC和ttic和eechina.如涉版權(quán)請(qǐng)聯(lián)系刪除。特別感謝)
深圳市創(chuàng)芯聯(lián)盈電子有限公司http://cxly.51dzw.com/
XC68HC705G10在用單片機(jī)開發(fā)各種嵌入式應(yīng)用系統(tǒng)時(shí),異步串行通信是經(jīng)常要用到的一種通信模式,很多應(yīng)用中還要求實(shí)現(xiàn)多路異步串行通信。大家平時(shí)熟悉的各種廠家的單片機(jī),絕大部分片上只提供一個(gè)硬件UART模塊,利用它可以方便實(shí)現(xiàn)一路串行通訊。PIC系列單片機(jī)也不例外,在其豐富的產(chǎn)品家族成員中,除高端系列(PIC17/18)一些型號(hào)片上帶有兩路硬件UART模塊外,其它大部分型號(hào)片上只有一路UART,一些低端廉價(jià)的PIC單片機(jī)甚至還不帶硬件UART。為了提高系統(tǒng)的性能價(jià)格比,就要求設(shè)計(jì)工程師用軟件增加實(shí)現(xiàn)一路或多路異步串行通信。很多工程師對(duì)用軟件實(shí)現(xiàn)的UART在可靠性和效率方面持懷疑態(tài)度,其實(shí)關(guān)鍵問題是看軟件采用何種方式來實(shí)現(xiàn)可靠的UART功能。
三倍速采樣法顧名思義就是以三倍于波特率的頻率對(duì)接收引腳Rx進(jìn)行采樣,保證檢測(cè)到“起始位”,又可以調(diào)整采樣的時(shí)間間隔;將有效數(shù)據(jù)位的采樣點(diǎn)控制在碼元的中間1/3處,最大限度地減少誤碼,提高接收的準(zhǔn)確性。我們把起始位和部分?jǐn)?shù)據(jù)位放大,如圖2所示,把每個(gè)信息位分成三等份,每等份的時(shí)間寬度設(shè)為ts,以方便分析。
在網(wǎng)絡(luò)補(bǔ)充版的程序中,關(guān)鍵部分是TMR0的中斷服務(wù)。TMR0每隔278μs左右中斷一次,TMR0的中斷響應(yīng)即為軟件UART接收和發(fā)送全雙工通信過程的實(shí)現(xiàn)。通過Hitech-PICC高效的代碼編譯后,約有150條單字指令代碼,整個(gè)中斷服務(wù)平均用約35個(gè)指令周期,即實(shí)現(xiàn)一路軟件UART在4 MHz工作頻率下占用MCU約12%的運(yùn)行帶寬。理論上,只要保證MCU留有足夠的運(yùn)行帶寬給其它任務(wù),在此中斷服務(wù)程序內(nèi)把接收和發(fā)送的代碼再?gòu)?fù)制一份或多份(數(shù)據(jù)結(jié)構(gòu)獨(dú)立),即可實(shí)現(xiàn)多路軟件UART。當(dāng)然,如果每路的波特率不同,采樣頻率必須是最高波特率的三倍。不同波特率的采樣點(diǎn)間隔獨(dú)立調(diào)整。
實(shí)現(xiàn)此法的硬件條件是PIC單片機(jī)有外部脈沖下降沿中斷觸發(fā)功能,在中檔以上PIC單片機(jī)中有RB0/INT外部中斷腳,CCP1/CCP2脈沖沿捕捉腳,PORTB的第4/5/6/7電平變化中斷腳等都可以滿足。另外需配備一個(gè)定時(shí)器,以定時(shí)中斷方式對(duì)接收碼元正確采樣,或發(fā)送串行數(shù)據(jù)流。
對(duì)于通信不是很頻繁的系統(tǒng),此軟件UART幾乎不耗MCU運(yùn)行帶寬,9600b/s接收或發(fā)送在4 MHz運(yùn)行的PIC單片機(jī)上即可輕松實(shí)現(xiàn);另外,由于下降沿中斷可以喚醒處于睡眠的單片機(jī),故極易實(shí)現(xiàn)通信喚醒的功能。缺點(diǎn)是不能全雙工通信(除非另外單獨(dú)用一個(gè)定時(shí)器實(shí)現(xiàn)發(fā)送定時(shí)),異步接收的引腳必須有下降沿觸發(fā)中斷的能力。
兩種方法在實(shí)際產(chǎn)品設(shè)計(jì)中都得到了很好的驗(yàn)證,最典型的是紅外線自動(dòng)抄表系統(tǒng)。該系統(tǒng)要求收發(fā)均為38 kHz紅外調(diào)制,串行數(shù)據(jù)1 200bps半雙工通訊。用軟件實(shí)現(xiàn)此UART,并充分利用PIC單片機(jī)CCP模塊的脈寬調(diào)制PWM輸出38 kHz載波時(shí),在單片機(jī)外除了一個(gè)一體化紅外接收頭和一個(gè)紅外發(fā)射二極管,無需其它任何外圍器件,即可完成所有設(shè)計(jì)要求,最大程度地減化了硬件設(shè)計(jì),降低了成本,提高了系統(tǒng)的可靠性和性能價(jià)格比。
(素材來源:21IC和ttic和eechina.如涉版權(quán)請(qǐng)聯(lián)系刪除。特別感謝)
深圳市創(chuàng)芯聯(lián)盈電子有限公司http://cxly.51dzw.com/
熱門點(diǎn)擊
- 無線傳感器網(wǎng)絡(luò)技術(shù)微處理器
- 芯片內(nèi)部集成抖頻功能降低EMI成本
- AI處理器與存儲(chǔ)器之間實(shí)現(xiàn)低延遲
- 兩個(gè)新控制板驅(qū)動(dòng)逆變器
- 芯片的加速引擎與IO接口
- 故障計(jì)時(shí)電路的檢測(cè)開路
- 濕氣敏感性數(shù)模轉(zhuǎn)換器
- 單片機(jī)模塊的脈寬調(diào)制輸出載波
- 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器
- 初級(jí)場(chǎng)效應(yīng)晶體管漏極電壓尖峰
推薦技術(shù)資料
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究