本站小編為你精心準(zhǔn)備了一種應(yīng)用于閘位計(jì)的SENT接口設(shè)計(jì)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要:設(shè)計(jì)了一種用于閘位計(jì)的單邊沿半字節(jié)傳輸(sent)接口,該接口一方面可以減少閘位計(jì)的布線,另一方面減少采集器IO口的占用數(shù)量。接口采用低功耗可編程邏輯器件CPLD實(shí)現(xiàn)。經(jīng)過(guò)邏輯仿真,實(shí)際測(cè)試該接口設(shè)計(jì)正確。
關(guān)鍵詞:閘位計(jì),單邊沿半字節(jié)傳輸協(xié)議(SENT),可編程邏輯器件
閘位計(jì)是水利行業(yè)的常用儀表,閘位計(jì)通常有機(jī)械碼盤型和光電旋轉(zhuǎn)編碼器。機(jī)械碼盤型閘位計(jì)通常采用12位并行格雷碼輸出,光電旋轉(zhuǎn)編碼器通常采用SSI(同步串行接口)輸出。12位并行格雷碼要求采集單元有多個(gè)IO口,SSI接口要求采集單元提供高速編碼時(shí)鐘。還用一類通過(guò)微控制器將機(jī)械碼盤型并行接口或光電旋轉(zhuǎn)編碼器SSI接口轉(zhuǎn)換成RS485接口的閘位計(jì)。在較大的閘門控制現(xiàn)場(chǎng)通常有多個(gè)閘位需要測(cè)量,這就要求采集設(shè)備具有更多的IO口,或者多個(gè)SSI接口。對(duì)于采用RS485接口的閘位計(jì),采集器通常按照輪詢方式采集各個(gè)閘位[1-2]。單邊沿半字節(jié)傳輸(SingleEdgeNibbleTransmission)協(xié)議簡(jiǎn)稱SENT協(xié)議,是美國(guó)汽車工程師學(xué)會(huì)(SAE)制定的,旨在提供更精確有效并且低成本的電機(jī)控制解決方案。相比于模擬信號(hào)輸出和PWM輸出方式,基于SENT協(xié)議的電機(jī)控制是一種可以有效降低成本、節(jié)省線束、節(jié)省插針結(jié)頭的低成本方案,具有很好的EMC特性,并且能傳輸故障代碼從而使傳感器系統(tǒng)具有很強(qiáng)的故障診斷能力[3-5]。SENT協(xié)議采用單向傳輸,僅需要一根信號(hào)線就能傳輸一個(gè)傳感器的物理量信息和故障代碼。鑒于SENT協(xié)議的優(yōu)勢(shì),本文設(shè)計(jì)一種將傳統(tǒng)閘位計(jì)轉(zhuǎn)換成SENT協(xié)議的接口裝置。
1SENT協(xié)議
SENT協(xié)議是一種點(diǎn)對(duì)點(diǎn)的單向從傳感器到控制器的協(xié)議,控制器不需要同步信號(hào)。傳感器信號(hào)以一串脈沖來(lái)傳送,脈沖下降沿之間時(shí)長(zhǎng)表示信號(hào)的大小。傳感器上電后立即發(fā)送數(shù)據(jù),接收機(jī)不需要發(fā)送查詢信號(hào)。一個(gè)SENT幀包括同步頭、傳感器狀態(tài)、6個(gè)半字節(jié)數(shù)據(jù)、CRC校驗(yàn)字段。除同步頭外,SENT報(bào)文按照半字節(jié)傳送。半字節(jié)傳送的時(shí)間單位是時(shí)鐘。SENT協(xié)議規(guī)定時(shí)鐘周期在3~10μs之間。SENT報(bào)文中每一個(gè)半字節(jié)被編碼成一個(gè)正脈沖,脈寬大小取決于半字節(jié)的數(shù)值。半字節(jié)為0,正脈寬7個(gè)時(shí)鐘,半字節(jié)數(shù)值每增加1,正脈寬增加一個(gè)時(shí)鐘,因此最大正脈寬時(shí)間是22個(gè)時(shí)鐘。正脈沖之間采用固定5個(gè)時(shí)鐘的負(fù)脈沖間隔。圖1中a、b顯示的是0和15的半字節(jié)SENT脈沖波形。同步頭由51個(gè)時(shí)鐘長(zhǎng)度的正脈沖表示[3]。
2CPLD實(shí)現(xiàn)的閘位計(jì)SENT接口
SENT幀格式設(shè)計(jì)如表1。同步頭按照SENT協(xié)議規(guī)定產(chǎn)生。SENT幀幀中的傳輸?shù)拈l位計(jì)狀態(tài)僅考慮正常/故障2種情況,用0值表示閘位計(jì)正常,8值表示閘位計(jì)有故障。數(shù)據(jù)1對(duì)應(yīng)二進(jìn)制閘位值最高位4比特G11-G8,數(shù)據(jù)2對(duì)應(yīng)二進(jìn)制閘位值中間位4比特G7-G4,數(shù)據(jù)3對(duì)應(yīng)二進(jìn)制閘位值最低位4比特G3-G0。接著后面的兩個(gè)半字節(jié)分別設(shè)計(jì)為數(shù)據(jù)1和數(shù)據(jù)2的邏輯反,最后一個(gè)半字節(jié)是一個(gè)減計(jì)數(shù)器,從15到0循環(huán)減小。表1用于閘位計(jì)的SENT幀設(shè)計(jì)CPLD邏輯功能如圖2所示,可劃分為格雷碼譯碼模塊、同步字段發(fā)生模塊、閘位計(jì)狀態(tài)發(fā)生模塊、半字節(jié)填充模塊、CRC校驗(yàn)?zāi)K、選擇器模塊、脈沖邏輯發(fā)生模塊以及系統(tǒng)控制邏輯模塊。格雷碼譯碼模塊由一組異或門的組合邏輯構(gòu)成,12位并行格雷碼閘位值經(jīng)譯碼得到12位并行二進(jìn)制碼閘位值。這12位二進(jìn)制碼按照每4比特一組分為3個(gè)半字節(jié),作為SENT幀的數(shù)據(jù)1、數(shù)據(jù)2和數(shù)據(jù)3。同步字段發(fā)生模塊是一個(gè)6比特的常數(shù)44。閘位計(jì)狀態(tài)發(fā)生模塊根據(jù)閘位計(jì)的狀態(tài)產(chǎn)生4比特?cái)?shù)據(jù)0(正常)或者8(故障)。半字節(jié)填充模塊包括一組產(chǎn)生閘位值最高8比特的邏輯反相器和一個(gè)4比特減計(jì)數(shù)器,用于填充SENT幀中閘位數(shù)據(jù)值后面的3個(gè)半字節(jié),即數(shù)據(jù)1的反、數(shù)據(jù)2的反以及減計(jì)數(shù)值。CRC校驗(yàn)?zāi)K產(chǎn)生幀的校驗(yàn)值。選擇器在系統(tǒng)控制邏輯模塊的控制下選擇同步字段模塊的輸出、閘位計(jì)狀態(tài)發(fā)生模塊輸出、12比特二進(jìn)制閘位值、半字節(jié)填充模塊的輸出以及CRC校驗(yàn)?zāi)K的輸出之一作為隨后的脈沖邏輯發(fā)生模塊的輸入。脈沖邏輯發(fā)生模塊先產(chǎn)生5個(gè)時(shí)鐘的低電平,然后根據(jù)6比特輸入的值產(chǎn)生比輸入值多7的時(shí)鐘數(shù)的高電平。以上所有模塊在系統(tǒng)控制邏輯模塊下控制。CRC校驗(yàn)采用多項(xiàng)式是x4+x3+x2+1,初始種子為0101。CRC校驗(yàn)?zāi)K采用如下圖3所示電路實(shí)現(xiàn)。開(kāi)始校驗(yàn)前寄存器預(yù)置成CRC3=0CRC2=1CRC1=0CRC0=1,數(shù)據(jù)從Data端輸入,經(jīng)過(guò)24比特時(shí)鐘后從4個(gè)寄存器取出4比特校驗(yàn)結(jié)果[CRC3CRC2CRC1CRC0]。圖3SENT幀4比特CRC計(jì)算電路
3仿真與測(cè)試
選用Intel公司MaxII系列CPLD,在EDA環(huán)境下對(duì)邏輯進(jìn)行仿真,波形如圖4a所示。圖中顯示了6個(gè)半字節(jié)的數(shù)據(jù)和它們的CRC校驗(yàn)結(jié)果,數(shù)據(jù)0xFFF00E的CRC校驗(yàn)結(jié)果是0x04,數(shù)據(jù)0xFFF00D的CRC校驗(yàn)結(jié)果是0x07,相應(yīng)的SENT幀輸出顯示在隨后一行,可以觀察到幀同步頭、狀態(tài)、數(shù)據(jù)以及校驗(yàn)字段對(duì)應(yīng)的波形,經(jīng)測(cè)量邏輯正確。仿真正確后將邏輯載入CPLD中,使用RigolDS6104示波器對(duì)CPLD輸出SENT信號(hào)波形進(jìn)行測(cè)量,如圖4b所示。實(shí)驗(yàn)中時(shí)鐘為250kHz,即時(shí)鐘周期是4μs。低電平持續(xù)時(shí)間5個(gè)時(shí)鐘,占用時(shí)間20μs。同步頭正脈沖占用51個(gè)時(shí)鐘,約200μs。圖中顯示的波形是狀態(tài)正常,數(shù)據(jù)為0xFFF00E,相應(yīng)的校驗(yàn)字是0x04產(chǎn)生的波形。為了測(cè)量所設(shè)計(jì)的正確性,對(duì)所產(chǎn)生的SENT幀進(jìn)行解碼還原出閘位值顯示。測(cè)試方案如圖5a所示。使用AVR單片機(jī)接收SENT信號(hào)進(jìn)行解碼,并將轉(zhuǎn)換值上報(bào)給上位機(jī)進(jìn)行存儲(chǔ)展示。AVR單片機(jī)解碼使用它具有的外部脈沖捕獲功能,對(duì)收到的SENT信號(hào)中鄰近的下降沿時(shí)間間隔計(jì)數(shù),根據(jù)計(jì)數(shù)值得到高電平時(shí)間,從而對(duì)SENT進(jìn)行解碼恢復(fù)閘位信息。測(cè)試中讓格雷碼閘位計(jì)勻速轉(zhuǎn)動(dòng),SENT解碼結(jié)果由上位機(jī)不間斷顯示。實(shí)驗(yàn)使用的是南京水利水文自動(dòng)化研究所的12位格雷碼閘位計(jì),圖5b是在上位機(jī)上顯示的閘位值解碼結(jié)果,閘位從0開(kāi)始均勻增加,當(dāng)達(dá)到最大值4095后變?yōu)?重新開(kāi)始。圖5閘位計(jì)SENT接口測(cè)試方案(a)和測(cè)試結(jié)果(b)
4結(jié)束語(yǔ)
本文設(shè)計(jì)了一個(gè)用于并行格雷碼閘位計(jì)的SENT接口轉(zhuǎn)換裝置,采用低功耗CPLD實(shí)現(xiàn)。經(jīng)過(guò)仿真和實(shí)際測(cè)試,證明該SENT接口邏輯正確。使用SENT接口后大大減少閘位計(jì)現(xiàn)場(chǎng)布線以及采集器IO口的占用。
參考文獻(xiàn)
[1]袁建軍,許永祥,王張磊,等.一體化閘門技術(shù)在疏勒河灌區(qū)斗口計(jì)量的運(yùn)用[J].中國(guó)農(nóng)村水利水電,2018(1):23-25
[2]宦鴻興,柏屏.基于AT89C52單片機(jī)的泵站現(xiàn)地監(jiān)控單元設(shè)計(jì)[J].排灌機(jī)械,2006,24(3):12-16
[3]SAEinternationalsurfacevehicleinformationreportJ2716.SENT-Singleedgenibbletransmissionforautomotiveappli-cations[S].2010
[4]馬楠,吳長(zhǎng)坤.基于SENT協(xié)議的有刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)[C]∥第九屆全國(guó)信號(hào)和智能信息處理與應(yīng)用學(xué)術(shù)會(huì)議,2015:275-278
[5]黃鵬,杜克奎,榮鋒,等.基于自適應(yīng)SENT協(xié)議的電機(jī)控制系統(tǒng)設(shè)計(jì)[J].天津工業(yè)大學(xué)學(xué)報(bào),2016,35(2):83-88
作者:花再軍 黃鳳辰 陳釗 李建霓 單位:河海大學(xué)計(jì)算機(jī)與信息學(xué)院