亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于單片機的調(diào)制解調(diào)器及其實現(xiàn)hart協(xié)議信號傳輸?shù)姆椒?

文檔序號:7699603閱讀:793來源:國知局
專利名稱:基于單片機的調(diào)制解調(diào)器及其實現(xiàn)hart協(xié)議信號傳輸?shù)姆椒?br> 技術(shù)領(lǐng)域
本發(fā)明涉及工業(yè)控制現(xiàn)場的數(shù)據(jù)通訊,特別是涉及基于單片機的調(diào)制解調(diào)器及其實現(xiàn)HART協(xié)議信號傳輸?shù)姆椒?,它適用于工業(yè)控制中現(xiàn)場總線(Fieldbus)領(lǐng)域的嵌入式系統(tǒng)。
背景技術(shù)
HART通訊協(xié)議(Highway Addressable Remote Transducer)是Rosemount公司于1986年提出的一項過渡性標準。它是在4~20mA模擬信號上疊加了幅值為0.5mA的FSK(Frequency Shift Keying,頻移鍵控)數(shù)字信號,1200Hz代表邏輯“1”,2200Hz代表邏輯“0”,如圖1所示,其數(shù)據(jù)傳送速率為1200bps。這樣,既可進行4~20mA模擬信號的傳輸,又可進行數(shù)字通訊。作為一個開放性協(xié)議,經(jīng)過十多年的發(fā)展,HART協(xié)議已成為智能儀表事實上的工業(yè)標準。
迄今為止,HART協(xié)議調(diào)制解調(diào)器通常一直是以專用電路(ASIC)或可編程數(shù)字信號處理器(DSP)來實現(xiàn)。在典型的應用中,一個微處理器和一個ASIC芯片或一個DSP會以主從方式有效地合作。在這種合作工作中,ASIC芯片或DSP芯片實現(xiàn)的硬件HART調(diào)制解調(diào)器會將環(huán)路的HART信號解調(diào)成為微處理器認識的“0”或“1”邏輯信號;同時,這種硬件MODEM又會將微處理器所發(fā)送的“0”或“1”邏輯信號轉(zhuǎn)換成HART協(xié)議信號。因此,微處理器僅僅起到“控制器”的作用,承擔控制的功能;而ASIC芯片或DSP芯片則基本起到一個專用計算和調(diào)制解調(diào)引擎的作用去實現(xiàn)HART協(xié)議信號和“0”、“1”邏輯信號之間的轉(zhuǎn)換。圖2是硬件MODEM的典型應用框圖。
上述典型安排要在“實時”前后關(guān)系(context)中運行。就是說微處理器和ASIC調(diào)制解調(diào)芯片(或DSP)兩者都要是專用的,以分別實現(xiàn)控制器和調(diào)制解調(diào)引擎功能。實時前后關(guān)系提供了確定性行為,而這確定性行為又是調(diào)制解調(diào)前后關(guān)系中所希望的,因為調(diào)制解調(diào)器數(shù)據(jù)流是以連續(xù)的并以固定速率到達的。由于這種確定性,決定了在該種調(diào)制解調(diào)方式下,作為調(diào)制解調(diào)引擎的ASIC調(diào)制解調(diào)芯片(或DSP)必須具有強大的運算能力。
雖然上述結(jié)構(gòu)安排已成為了主流,被市場廣泛接受,但ASIC芯片(或DSP)和其他的專用硬件涉及的部件費用比較昂貴。再者,它們增加了相關(guān)聯(lián)的制造,供給和維護方面的費用,并影響整個系統(tǒng)的可靠性;同時,由于市場的不確定性,會導致硬件調(diào)制解調(diào)器的應用受市場供應的制約,給產(chǎn)品開發(fā)造成負面影響。

發(fā)明內(nèi)容
本發(fā)明是為了解決現(xiàn)有HART信號調(diào)制解調(diào)器的缺陷而提出的一種基于通用低功耗單片微控制器的軟件程序來實現(xiàn)專用ASIC芯片(或DSP)的HART信號調(diào)制解調(diào)功能的現(xiàn)場總線嵌入式系統(tǒng)的基于單片機的調(diào)制解調(diào)器及其實現(xiàn)HART協(xié)議信號傳輸?shù)姆椒?,該調(diào)制解調(diào)器運算能力強,操作可靠,應用范圍廣。
本發(fā)明采取的技術(shù)措施是基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其特征在于,包括一單片機,以及設置在該單片機內(nèi)的HART信號解調(diào)單元、HART信號調(diào)制單元、以及一I/O輸出端口寄存器、異步串行接收模塊、HART協(xié)議信號鏈路解析和命令處理器;所述的HART信號解調(diào)單元接收來自HART信號傳媒介質(zhì)傳輸來的信號,經(jīng)解調(diào)后送到I/O輸出端口寄存器,通過該I/O輸出端口寄存器傳送到異步串行接收模塊,該異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器進行處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制,經(jīng)信號調(diào)制后的信號再通過HART信號傳媒介質(zhì)傳輸出去。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其中,所述的HART信號解調(diào)單元包括邊沿檢測器、保持寄存器輸入選擇開關(guān)、脈寬保持寄存器、脈寬保持寄存器值移入移位寄存器選擇開關(guān)、濾波移位寄存器、加減法器、累加值比較器、累加值最大限幅器、濾波累加器;所述的邊沿檢測器用于檢測CPU管腳上的方波的脈寬,并將該脈寬送入保持寄存器輸入選擇開關(guān);所述的保持寄存器輸入選擇開關(guān)用于判斷邊沿檢測器送入的脈寬是否小于最小脈寬,然后將一個適當?shù)拿}寬值送入脈寬保持寄存器;所述的脈寬保持寄存器將該值送入16位的濾波累加器和脈寬保持植移入移位寄存器選擇開關(guān);
所述的脈寬保持寄存值移入移位寄存器選擇開關(guān)用于移入與不移入的選擇;所述的濾波移位寄存器用于脈寬值的移入移出與寄存;所述的濾波累加器用于脈寬值的累加,并將該累加值送到累加值比較器;所述的累加值比較器用于對濾波累加值大小的比較,從而決定是輸“1”還是“0”;所述的累加值最大限幅器用于對當前的濾波累加值進行最大限幅,并控制和決定濾波累加器的值是否被更新,以及控制脈寬保持寄存器值移入移位寄存器選擇開關(guān)決定脈寬保持寄存器的采樣值是否移入濾波移位寄存器。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其中,所述的HART信號調(diào)制單元包括相位累加值選擇器、加法器、相位累加器、相位累加值判斷器、單片機管腳取反輸出器;所述的相位累加值選擇器以1200的波特率接收單片機內(nèi)HART協(xié)議信號鏈路解析和命令處理器輸出的0、1邏輯信號從而決定相位累加值的大小。選定的相位累加值每隔很短的時間經(jīng)加法器后累加到相位累加器,相位累加器的值輸出到相位累加值判斷器,經(jīng)相位累加值判斷器判斷后輸出到單片機管腳取反輸出器單片機管腳取反輸出器當相位累加器累加到π整數(shù)倍時,CPU管腳電平取反一次,表示一次過零。從單片機管腳取反輸出器輸出的頻移鍵控方波經(jīng)HART信號傳媒介質(zhì)傳輸。
基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特點是,包括以下步驟a、先將HART正弦波信號經(jīng)過帶通濾波后變成平移鍵控方波后從單片機的管腳輸入到HART信號解調(diào)單元;b、經(jīng)HART信號解調(diào)單元解調(diào)后輸出邏輯“0”、“1”信號到I/O輸出端口寄存器;c、通過單片機管腳將邏輯“0”、“1”信號輸入到異步串行接收模塊;d、異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器對通訊幀進行鏈路解析和命令處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制;e、經(jīng)解調(diào)后產(chǎn)生平移鍵控方波從單片機的管腳輸出,通過波形整形后輸出HART正弦波信號傳輸出去。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其中,步驟b所述的經(jīng)HART信號解調(diào)單元解調(diào)的方法包括以下步驟b1、邊沿檢測器接收傳輸介質(zhì)傳來的方波信號,經(jīng)檢測脈寬后送到保持寄存器通過選擇開關(guān),再送到脈寬保持寄存器,如果這個脈寬小于設定的最小脈寬,則把最小脈寬放到脈寬保持寄存器,實現(xiàn)最小限幅;b2、以一定的頻率對脈寬保持寄存器進行采樣,每次采樣后在加減法器里將濾波累加器的值加上這個采樣值并減去濾波移位寄存器的待移出值,得出一個新的累加值;b3、將步驟b2得出的新的累加值分成兩路一路送入累加值最大限幅器和最大限幅值進行比較;比較的結(jié)果將控制和決定濾波累加器的值是否被更新,以及控制脈寬保持寄存器值移入移位寄存器選擇開關(guān)來決定脈寬保持寄存器的采樣值是否移入濾波移位寄存器如果累加值大于最大限幅值,則濾波累加器將不被這個累加值更新,濾波移位寄存器也不進行數(shù)據(jù)的移入移出;如果累加值小于最大限幅值,則濾波累加器更新為這個累加值,采樣到的脈寬保持寄存器值移入濾波移位寄存器;另一路送入累加值比較器進行比較,如果大于設定值,就解調(diào)輸出1,反之就解調(diào)輸出0;b4、解調(diào)后的0、1邏輯信號經(jīng)過單片機的I/0輸出端口輸出。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其中,步驟d所述的經(jīng)HART信號調(diào)制單元調(diào)制的方法包括以下步驟d1、相位累加值選擇器以1200的波特率接收單片機內(nèi)HART協(xié)議信號鏈路解析和命令處理器輸出的0、1邏輯信號從而決定相位累加值的大??;d2、選定的相位累加值每隔很短的時間經(jīng)加法器后累加到相位累加器;d3、相位累加器的值輸出到相位累加值判斷器,經(jīng)相位累加值判斷器判斷后輸出到單片機管腳取反輸出器,從單片機管腳取反輸出器輸出的調(diào)制后的頻移鍵控方波經(jīng)HART信號傳媒介質(zhì)傳輸。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其中,步驟d3所述的相位累加值判斷器判斷是指當相位累加器累加到π整數(shù)倍時單片機管腳電平取反一次,表示一次過零;反之,表示還未過零,電平保持。
上述基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其中,所述的相位累加器累加到π整數(shù)倍是指累加器溢出表示到達一次π相位。
由于本發(fā)明采用了以上的技術(shù)方案,將調(diào)制解調(diào)器專門設計在一低功耗通用嵌入式單片微控制器平臺上,由單片微控制器的主程序進行控制,實現(xiàn)對HART協(xié)議信號的調(diào)制解調(diào)。因該調(diào)制解調(diào)器的硬件平臺和控制程序是可伸縮和可移植的,因此,該調(diào)制解調(diào)器可以很容易地被修改,以適應不同類型的微控制器。


本發(fā)明的具體特征、性能由以下的實施例及其附圖進一步描述。
圖1是一般HART信號示意圖。
圖2是現(xiàn)有技術(shù)調(diào)制解調(diào)器典型應用框圖。
圖3是本發(fā)明基于單片機的HART協(xié)議信號調(diào)制解調(diào)器的結(jié)構(gòu)框圖。
圖4是本發(fā)明解調(diào)單元的電方框圖。
圖5是本發(fā)明調(diào)制單元的電方框圖。
圖6是本發(fā)明應用時的結(jié)構(gòu)框圖。
圖7是本發(fā)明應用時的實施例示意圖。
圖8是圖7中接收信號的調(diào)理電路原理圖。
圖9是圖7中發(fā)送信號調(diào)理電路原理圖。
圖10由11位組成的HART通訊字符結(jié)構(gòu)圖。
圖11是本發(fā)明脈寬檢測的噪聲抑制和強制最小限幅流程圖。
圖12是本發(fā)明幾何平均軟件濾波和強制最大限幅技術(shù)流程圖。
圖13是本發(fā)明發(fā)送程序流程框圖。
具體實施例方式
請參閱圖3,這是本發(fā)明的結(jié)構(gòu)框圖?;趩纹瑱C的HART協(xié)議信號調(diào)制解調(diào)器,其包括一單片機1,以及設置在該單片機內(nèi)的HART信號解調(diào)單元11、HART信號調(diào)制單元12、一I/O輸出端口寄存器13、異步串行接收模塊14、HART協(xié)議信號鏈路解析和命令處理器15;HART信號解調(diào)單元11接收來自HART信號傳媒介質(zhì)傳輸來的信號,經(jīng)解調(diào)后送到I/O輸出端口寄存器13,通過該I/0輸出端口寄存器傳送到異步串行接收模塊14,該異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器15進行處理,獲得邏輯“0”、“1”信號送別信號調(diào)制單元12進行信號調(diào)制,經(jīng)信號調(diào)制后的信號再通過HART信號傳媒介質(zhì)傳輸出去。
請參閱圖4,這是本發(fā)明的解調(diào)單元的電方框圖。本發(fā)明的HART信號解調(diào)單元11包括邊沿檢測器111、保持寄存器輸入選擇開關(guān)112、脈寬保持寄存器113、脈寬保持寄存器值移入移位寄存器選擇開關(guān)114、濾波移位寄存器115、加減法器116、累加值比較器117、累加值最大限幅器118、濾波累加器119;邊沿檢測器接收傳輸介質(zhì)傳來的方波信號,經(jīng)檢測脈寬后送到保持寄存器通過選擇開關(guān),再送到脈寬保持寄存器,如果這個脈寬小于設定的最小脈寬,則把最小脈寬放到脈寬保持寄存器,實現(xiàn)最小限幅;以一定的頻率對脈寬保持寄存器進行采樣,每次采樣后在加減法器里將濾波累加器的值加上這個采樣值并減去濾波移位寄存器的待移出值,得出一個新的累加值。這個新的累加值分成兩路一路送入累加值最大限幅器和最大限幅值進行比較。比較的結(jié)果將控制和決定濾波累加器的值是否被更新,以及控制脈寬保持寄存器值移入移位寄存器選擇開關(guān)來決定脈寬保持寄存器的采樣值是否移入濾波移位寄存器;如果累加值大于最大限幅值,則濾波累加器將不被這個累加值更新,濾波移位寄存器也不進行數(shù)據(jù)的移入移出;如果累加值小于最大限幅值,則濾波累加器更新為這個累加值,采樣到的脈寬保持寄存器值移入濾波移位寄存器;另一路送入累加值比較器進行比較,如果大于設定值,就解調(diào)輸出1,反之就解調(diào)輸出0。解調(diào)后的0、1邏輯信號經(jīng)過單片機的I/O輸出端口輸出。
請參閱圖5,這是本發(fā)明的調(diào)制單元的電方框圖。本發(fā)明的HART信號調(diào)制單元12包括相位累加值選擇器121、加法器122、相位累加器123、相位累加值判斷器124、單片機管腳取反輸出器125;所述的相位累加值選擇器以1200的波特率接收單片機內(nèi)HART協(xié)議信號鏈路解析和命令處理器輸出的0、1邏輯信號從而決定相位累加值的大小。選定的相位累加值每隔很短的時間經(jīng)加法器后累加到相位累加器,相位累加器的值輸出到相位累加值判斷器,經(jīng)相位累加值判斷器判斷后輸出到單片機管腳取反輸出器當相位累加器累加到π整數(shù)倍時,CPU管腳電平取反一次,表示一次過零。從單片機管腳取反輸出器輸出的頻移鍵控方波經(jīng)HART信號傳媒介質(zhì)傳輸。
請參見圖6,圖6是本發(fā)明應用時的結(jié)構(gòu)示意框圖。單片微控制器1直接在I/O上產(chǎn)生1200Hz或2200Hz的FSK方波,經(jīng)過波形整形電路7轉(zhuǎn)換成HART協(xié)議信號耦合到傳輸介質(zhì)9上;來自傳輸介質(zhì)的HART協(xié)議信號經(jīng)過帶通濾波整形電路8轉(zhuǎn)換成1200Hz或2200Hz的FSK方波,單片微控制器的I/O口直接對該方波進行采樣鑒頻,解調(diào)出0、1邏輯信號,并由I/O送出。這個由I/O口送出的0、1邏輯信號即可直接被這個單片微控制器自己的串口接收。當然,在一些特殊的應用場合,這個由I/O口送出的0、1邏輯信號也可以被另外一片單片機的串口接受。本發(fā)明省去昂貴的專用芯片,使開發(fā)成本大大降低。同時由于本發(fā)明具有可伸縮和可移植性,使得本HART調(diào)制解調(diào)器可以在不同的單片微控制器之間很容易的被移植。因此,使用本HART調(diào)制解調(diào)器的開發(fā)項目不會受到市場供應的制約。
請參閱圖7,這是本發(fā)明具體應用的實施例示意圖。
本發(fā)明基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,包括以下步驟a、先將HART正弦波信號經(jīng)過帶通濾波后變成平移鍵控方波后從單片機的管腳輸入到HART信號調(diào)制單元;b、經(jīng)HART信號調(diào)制單元解調(diào)后輸出邏輯“0”、“1”信號到I/O輸出端口寄存器;c、通過單片機管腳將邏輯“0”、“1”信號輸入到異步串行接收模塊;d、異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器對通訊幀進行鏈路解析和命令處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制;e、經(jīng)解調(diào)后產(chǎn)生平移鍵控方波從單片機的管腳輸出,通過波形整形后輸出HART正弦波信號傳輸出去。
請參閱圖8,這是本發(fā)明接收信號的調(diào)理電路原理圖,由帶通濾波器構(gòu)成。該帶通濾波電路包括HART正弦波FSK信號經(jīng)由帶通濾波、SMIT觸發(fā),整形為相應頻率的與CPU工作電平一致的方波FSK信號。信號調(diào)理電路如圖4所示,由以IC201B為核心的帶通濾波電路和以IC201A為核心的SMIT觸發(fā)電路組成。至此,HART協(xié)議信號接收工作就變?yōu)閷Ψ讲ㄐ盘柮}寬的測量及相應的邏輯識別。如何對方波FSK信號進行采樣,將1200Hz和2200Hz分別解調(diào)為邏輯1、0是本軟件調(diào)制解調(diào)器的接收解調(diào)的實現(xiàn)的關(guān)鍵。本發(fā)明的接收程序中采用了一個邊沿檢測的外部中斷,來檢測脈寬。這個脈寬就是當前接收到的頻率。但由于鏈路噪聲干擾和HART信號過渡波形的存在,接收到的當前頻率不一定是準確的1200Hz或2200Hz,也就無法直接進行邏輯1、0的解調(diào)。本發(fā)明的接收算法采用強制限幅技術(shù)(包括最小限幅和最大限幅)和幾何平均的軟件濾波技術(shù)。
請參閱圖9,本發(fā)明發(fā)送信號的調(diào)理電路由波形整形電路構(gòu)成。本發(fā)明調(diào)制解調(diào)器的發(fā)送調(diào)制的實現(xiàn)基于下面的這樣一個事實,即一個1200Hz或2200Hz的FSK方波經(jīng)過形整形電路整形誠正弦波后就是HART信號。本發(fā)明中,這樣一個FSK方波由微控制器用軟件程序直接產(chǎn)生。HART通訊幀由若干個字符組成,每個字符是一個11位的字節(jié)一個起始位,八位數(shù)據(jù)位,一個奇校驗位和停止位。字符編碼如圖10所示。字節(jié)按最低有效位在前的順序發(fā)送的。在發(fā)送一個通訊幀時,每兩個字符之間的發(fā)送間隔(GAP)不能大于一個字符時間9.167ms(一個字符時間即為以1200bps發(fā)送一個字符所需的時間=11bits/1200bps=9.167ms)。HART協(xié)議的傳輸速率為1200Hz,這樣在一個位時間內(nèi),‘1’信號(頻率為1200Hz)將走過一個周期,‘0’信號(頻率為2200Hz)將走過1+5/6個周期,即發(fā)送一個‘0’位后將產(chǎn)生一個60度的相位差。由于FSK頻移鍵控信號在傳輸時保持相位連續(xù),即在1200Hz與2200Hz之間轉(zhuǎn)換時相位連續(xù),導致1200Hz和2200Hz之間轉(zhuǎn)換波形寬度不定。
相位連續(xù)FSK方波產(chǎn)生機理如下對于一個周期為T的周波,經(jīng)過一個周期時間T,其相位變化2π。對于某個等份時間t,則其相位變化為2π*t/T,如果等份時間固定,則該相位變化為一定值,設為W,而該定值對應于某個頻率的周波。因此,每一個π相位由若干個這樣的W組成,設置一個16位的相位累加器,在每個等份時間t內(nèi)相位累加器累加一次W,軟件對相位累加器進行檢測,當相位累加器累加到π整數(shù)倍時,(即相位累加器累加到π整數(shù)倍是指累加器溢出表示到達一次π相位,)解碼輸出腳翻轉(zhuǎn)一次,表示一次過零。對于1200Hz的方波,W小一點,所需的個數(shù)就多一點,也就是t的個數(shù)多一點;對于2200Hz的方波,W大一點,所需的個數(shù)就少一點,t的個數(shù)也少一點。當發(fā)送頻率變更時,則需對W進行變更。本發(fā)明利用一個1200bps的定時器來對每一個HART位定時,確定下一位是0還是1,從而確定累加器的累加值。實現(xiàn)時用65536來表示相位π,對于1200Hz和2200Hz其累加定值分別為W1200=t*2*65536/T1200W2200=t*2*65536/T2200這樣檢測相位π只需檢測累加器(用一int型數(shù)據(jù)表示)的溢出即可。
FSK方波產(chǎn)生的相位誤差分析上面所述的相位變化值W的倒數(shù)乘上π后可以理解成相位輸出的分辨率,該分辨率隨著頻率的增大而減小。過零相位誤差該誤差大小由2200Hz時相位輸出的分辨率決定。雖然存在過零相位誤差,但是由于過零時,存在的相位差繼續(xù)用于下一輪的累加,因此不會產(chǎn)生由于相位差的丟棄而產(chǎn)生累積誤差。采用相位變化累加的方式可以保證HART信號的相位連續(xù)特性。
請參閱圖11、圖12,其中,圖11是脈寬檢測中的噪聲抑制和強制最小限幅技術(shù)的方法;圖12是脈寬檢測中的幾何平均軟件濾波和強制最大限幅技術(shù)的方法。把每次采樣到的脈寬放到一個采樣保持寄存器。設立一個移位寄存器和一個濾波采樣定時器。濾波采樣定時器每隔一定時間對保持寄存器采樣一次,并把采樣到的值一個一個移入移位寄存器。把移位寄存器各個值累加到濾波累加器。如果濾波累加器的值大于設定值,就解調(diào)輸出1,反之就解調(diào)輸出0。同時對濾波累加器的值進行最大限幅;如果濾波累加器的值大于最大限幅值,則當前的保持寄存器值不移入移位寄存器。經(jīng)過解調(diào)后的邏輯1、0信號進微控制器的輸出腳輸出后可以直接被微控制器的串行口接收。本發(fā)明采用最高優(yōu)先級中斷驅(qū)動技術(shù),保證對HART信號解調(diào)的實時性和準確度。
請參閱圖13,這是本發(fā)明發(fā)送程序的流程框圖。本發(fā)明在發(fā)送程序中,將每個HART字符生成11位的發(fā)送字符,由1200bps的定時器進行定時發(fā)送,11位發(fā)送完后馬上發(fā)送下一個字符,直至一幀數(shù)據(jù)發(fā)完。
其過程是進入發(fā)送程序后,首先開啟載波,然后將HART發(fā)送字節(jié)生成11位的發(fā)送字符并開始發(fā)送11位字符,每發(fā)送完一位就就準備發(fā)送下一位,直至11位全部發(fā)送完畢;然后判斷一幀數(shù)據(jù)的所有字節(jié)是否發(fā)完,如果不是,則程序返回“載入HART發(fā)送字節(jié),生成11位發(fā)送字符”處,繼續(xù)進行HART字節(jié)的發(fā)送。如果一幀數(shù)據(jù)已經(jīng)發(fā)完,那么等待最后一個字節(jié)的最后一位發(fā)完后關(guān)閉載波,發(fā)送結(jié)束。1200bps中斷程序用于確定下一字節(jié)是0還是1,從而確定累加值的大小。基本時間中斷程序用于累加器的累加、溢出判斷和管腳取反輸出。
權(quán)利要求
1.基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其特征在于,包括一單片機,以及設置在該單片機內(nèi)的HART信號解調(diào)單元、HART信號調(diào)制單元、以及一I/O輸出端口寄存器、異步串行接收模塊、HART協(xié)議信號鏈路解析和命令處理器;所述的HART信號解調(diào)單元接收來自HART信號傳媒介質(zhì)傳輸來的信號,經(jīng)解調(diào)后送到I/O輸出端口寄存器,通過該I/O輸出端口寄存器傳送到異步串行接收模塊,該異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器進行處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制,經(jīng)信號調(diào)制后的信號再通過HART信號傳媒介質(zhì)傳輸出去。
2.根據(jù)權(quán)利要求1所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其特征在于,所述的HART信號解調(diào)單元包括邊沿檢測器、保持寄存器輸入選擇開關(guān)、脈寬保持寄存器、脈寬保持寄存器值移入移位寄存器選擇開關(guān)、濾波移位寄存器、加減法器、累加值比較器、累加值最大限幅器、濾波累加器;所述的邊沿檢測器用于檢測CPU管腳上的方波的脈寬,并將該脈寬送入保持寄存器輸入選擇開關(guān);所述的保持寄存器輸入選擇開關(guān)用于判斷邊沿檢測器送入的脈寬是否小于最小脈寬,然后將一個適當?shù)拿}寬值送入脈寬保持寄存器;所述的脈寬保持寄存器將該值送入16位的濾波累加器和脈寬保持植移入移位寄存器選擇開關(guān);所述的脈寬保持寄存值移入移位寄存器選擇開關(guān)用于移入與不移入的選擇;所述的濾波移位寄存器用于脈寬值的移入移出與寄存;所述的濾波累加器用于脈寬值的累加,并將該累加值送到累加值比較器;所述的累加值比較器用于對濾波累加值大小的比較,從而決定是輸“1”還是“0”;所述的累加值最大限幅器用于對當前的濾波累加值進行最大限幅,并控制和決定濾波累加器的值是否被更新,以及控制脈寬保持寄存器值移入移位寄存器選擇開關(guān)決定脈寬保持寄存器的采樣值是否移入濾波移位寄存器。
3.根據(jù)權(quán)利要求1所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)器,其特征在于,所述的HART信號調(diào)制單元包括相位累加值選擇器、加法器、相位累加器、相位累加值判斷器、單片機管腳取反輸出器;所述的相位累加值選擇器以1200的波特率接收單片機內(nèi)HART協(xié)議信號鏈路解析和命令處理器輸出的0、1邏輯信號從而決定相位累加值的大小。選定的相位累加值每隔很短的時間經(jīng)加法器后累加到相位累加器,相位累加器的值輸出到相位累加值判斷器,經(jīng)相位累加值判斷器判斷后輸出到單片機管腳取反輸出器單片機管腳取反輸出器當相位累加器累加到π整數(shù)倍時,CPU管腳電平取反一次,表示一次過零。從單片機管腳取反輸出器輸出的頻移鍵控方波經(jīng)HART信號傳媒介質(zhì)傳輸。
4.基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特征在于,包括以下步驟a、先將HART正弦波信號經(jīng)過帶通濾波后變成平移鍵控方波后從單片機的管腳輸入到HART信號解調(diào)單元;b、經(jīng)HART信號解調(diào)單元解調(diào)后輸出邏輯“0”、“1”信號到I/O輸出端口寄存器;c、通過單片機管腳將邏輯“0”、“1”信號輸入到異步串行接收模塊;d、異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器對通訊幀進行鏈路解析和命令處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制;e、經(jīng)解調(diào)后產(chǎn)生平移鍵控方波從單片機的管腳輸出,通過波形整形后輸出HART正弦波信號傳輸出去。
5.根據(jù)權(quán)利要求4所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特征在于,步驟b所述的經(jīng)HART信號解調(diào)單元解調(diào)的方法包括以下步驟b1、邊沿檢測器接收傳輸介質(zhì)傳來的方波信號,經(jīng)檢測脈寬后送到保持寄存器通過選擇開關(guān),再送到脈寬保持寄存器,如果這個脈寬小于設定的最小脈寬,則把最小脈寬放到脈寬保持寄存器,實現(xiàn)最小限幅;b2、以一定的頻率對脈寬保持寄存器進行采樣,每次采樣后在加減法器里將濾波累加器的值加上這個采樣值并減去濾波移位寄存器的待移出值,得出一個新的累加值;b3、將步驟b2得出的新的累加值分成兩路一路送入累加值最大限幅器和最大限幅值進行比較;比較的結(jié)果將控制和決定濾波累加器的值是否被更新,以及控制脈寬保持寄存器值移入移位寄存器選擇開關(guān)來決定脈寬保持寄存器的采樣值是否移入濾波移位寄存器如果累加值大于最大限幅值,則濾波累加器將不被這個累加值更新,濾波移位寄存器也不進行數(shù)據(jù)的移入移出;如果累加值小于最大限幅值,則濾波累加器更新為這個累加值,采樣到的脈寬保持寄存器值移入濾波移位寄存器;另一路送入累加值比較器進行比較,如果大于設定值,就解調(diào)輸出1,反之就解調(diào)輸出0;b4、解調(diào)后的0、1邏輯信號經(jīng)過單片機的I/O輸出端口輸出。
6.根據(jù)權(quán)利要求4所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特征在于,步驟d所述的經(jīng)HART信號調(diào)制單元調(diào)制的方法包括以下步驟d1、相位累加值選擇器以1200的波特率接收單片機內(nèi)HART協(xié)議信號鏈路解析和命令處理器輸出的0、1邏輯信號從而決定相位累加值的大?。籨2、選定的相位累加值每隔很短的時間經(jīng)加法器后累加到相位累加器;d3、相位累加器的值輸出到相位累加值判斷器,經(jīng)相位累加值判斷器判斷后輸出到單片機管腳取反輸出器,從單片機管腳取反輸出器輸出的調(diào)制后的頻移鍵控方波經(jīng)HART信號傳媒介質(zhì)傳輸。
7.根據(jù)權(quán)利要求6所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特征在于,步驟d3所述的相位累加值判斷器判斷是指當相位累加器累加到π整數(shù)倍時,單片機管腳電平取反一次,表示一次過零;反之,表示還未過零,電平保持。
8.根據(jù)權(quán)利要求7所述的基于單片機的HART協(xié)議信號調(diào)制解調(diào)方法,其特征在于,所述的相位累加器累加到π整數(shù)倍是指累加器溢出表示到達一次π相位。
全文摘要
本發(fā)明基于單片機的HART協(xié)議信號調(diào)制解調(diào)器及其方法,其特點是,包括一單片機,以及設置在該單片機內(nèi)的HART信號解調(diào)單元、HART信號調(diào)制單元、以及一I/O輸出端口寄存器、異步串行接收模塊、HART協(xié)議信號鏈路解析和命令處理器。包括以下步驟a.先將HART正弦波信號經(jīng)過帶通濾波后變成頻移鍵控方波后從單片機的管腳輸入到HART信號調(diào)制單元;b.經(jīng)HART信號調(diào)制單元解調(diào)后輸出邏輯“0”、“1”信號到I/O輸出端口寄存器;c.通過單片機管腳將邏輯“0”、“1”信號輸入到異步串行接收模塊;d.異步串行接收模塊接收經(jīng)過解調(diào)的HART通訊幀,再送到HART協(xié)議信號鏈路解析和命令處理器對通訊幀進行鏈路解析和命令處理,獲得邏輯“0”、“1”信號送到信號調(diào)制單元進行信號調(diào)制;e.經(jīng)解調(diào)后產(chǎn)生頻移鍵控方波從單片機的管腳輸出,通過波形整形后輸出HART正弦波信號傳輸出去。該調(diào)制解調(diào)器運算能力強,操作可靠,應用范圍廣。
文檔編號H04L29/06GK1514596SQ0216054
公開日2004年7月21日 申請日期2002年12月31日 優(yōu)先權(quán)日2002年12月31日
發(fā)明者吳忠, 壽淼鈞, 吳 忠 申請人:浙江浙大中控技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1