張德華, 傅曉程, 靳曉光
(浙江大學 電氣工程學院, 浙江 杭州 310027)
?
基于FPGA的模擬信號采樣和隔離傳輸系統設計
張德華, 傅曉程, 靳曉光
(浙江大學 電氣工程學院, 浙江 杭州310027)
針對電子系統中模擬信號采樣以及隔離傳輸的要求設計了該系統。發送端由多通道A/D轉換器實現模擬信號的數字化,FPGA作為核心部件實現轉換控制和數據處理,產生能夠通過單光纖進行傳輸的數字碼流,接收端提取有效數字信號并存儲,供控制系統使用,同時通過D/A轉換器進行信號還原以便觀察。進行仿真和實驗測試表明,該方法抗干擾能力強、誤碼率低、傳輸速度高。該傳輸系統的設計和實現可由本科生在實驗室完成,作為電子系統課程設計的可選擇方案。
模擬信號; 隔離傳輸; FPGA; 編碼
現代電子系統一般采用數字控制方式[1-2]。傳統的傳感器只能采樣一路信息,并傳輸到控制端后進行一次模數轉換,傳輸和轉換效率低,且易受干擾,不能滿足需要多路信號采樣和反饋的電子系統實時控制和高隔離性能的要求。為此設計了多路模擬信號的數字化隔離傳輸系統。該方法是:在發送端先由多通道A/D轉換器實現模擬信號的采樣和數字化,由現場可編門陣列(FPGA)進行轉換控制和數據處理,產生的數字碼流通過光纖傳輸,在接收端將有效數字信號提取出來,供控制系統使用,同時通過D/A轉換器進行信號還原,以便對有效數據進行觀察和驗證[3]。
該系統不僅是對現代電子系統數控技術的一項改進,而且由于包含電子技術課程中多個知識點,例如模擬信號的采樣放大、A/D和D/A轉換、數字信號的編碼、同步等處理手段,可作為綜合性的電子系統設計課題,由大二、大三年級本科生在實驗室完成,既鞏固電子技術課程理論知識,又能夠培養和激發學生對電子系統設計的興趣愛好。
1.1總體方案設計
硬件總體框圖如圖1所示,其工作原理:電子系統的采樣電量通過調理模塊實現模擬信號的增益和電平偏移等調節,調理后的輸出電壓需與A/D轉換器的電平匹配;然后經A/D轉換后送入FPGA進行處理,FPGA負責A/D轉換器的控制、傳輸協議的生成和對協議進行編碼處理;光纖發送器將FPGA輸出的電信號轉換為光信號,并通過光纖傳輸到接收端,在接收端再用光纖接收器將光信號還原為電信號;接收端的FPGA負責數據分離和解碼等處理,將有效信號提取出來,供控制電路取用;在接收端,為了方便觀察信號是否正確,加一級D/A轉換,將提取出的有效數字信號還原成模擬信號,和初始輸入模擬信號進行對比觀察。此外,協議中包含校驗位,數據被接收端提取后若未通過校驗,則代表傳輸出錯,此幀數據將被丟棄。

圖1 硬件總體框圖
1.2隔離傳輸系統發送端設計
圖2是發送單元的結構示意圖。

圖2 發送單元結構示意圖
數據采樣及信號調理模塊采集模擬量信號并發送到A/D轉換模塊。A/D轉換器選用TI公司生產的4通道12位串行ADS7950[4]。
信號輸入A/D轉換器之前,需要進行信號調理。以正弦波信號為例,ADS7950的模擬輸入電壓范圍為2.7~5.25 V,因此需要對輸入的正弦波進行電平偏移和幅度調整,運算放大器LM358可實現調理功能。
A/D轉換模塊將模擬量信號轉換成數字量信號并發送給采樣控制模塊。發送單元還支持由采樣控制模塊直接采集開關量信號。
采樣控制模塊將數字信號進行擴展以使擴展后的信號包含開始標識位、地址位、數據位和結束標識位。擴展后的信號發送到校驗碼植入模塊。校驗碼植入模塊給所接收到的擴展后的信號植入校驗位形成新的數據幀并發送到數據編碼模塊,數據編碼模塊則將新的數據幀進行編碼并將編碼后的高低電平信號發送到發送單元信號轉換模塊。
發送單元信號轉換模塊由HFBR-1527光纖發送器構成,HFBR-1527實現電—光信號的轉換,將光信號通過光纖發送到接收單元信號轉換模塊中[5]。
1.3隔離傳輸系統接收端設計
圖3是接收單元的結構示意圖。
接收單元信號轉換模塊由型號為HFBR-2526的光纖接收器構成,完成光—電信號的轉換。接收單元信號調理模塊在將所接收到的電信號進行電壓幅值匹配后轉換為TTL信號,分別發送到時鐘提取及同步模塊和起始指令判斷模塊。
時鐘提取及同步模塊從所接收到的TTL信號中提取出同步時鐘信號,和TTL信號同時發送給解碼校驗模塊和起始指令判斷模塊。起始指令判斷模塊負責提取起始指令,解碼校驗模塊對TTL信號進行校驗并將校驗結果也發送給數據解碼模塊。數據解碼模塊根據起始指令、同步時鐘信號和校驗結果對TTL信號進行解碼得到地址位和數據位信息,并發送給存儲輸出模塊的寄存器中。
FPGA選用Altera公司生產的Cyclone系列芯片EP1C6T144C8和低成本串行配置器件EPCS4。用VHDL編寫收發單元控制模塊,在Quartus II 平臺上完成仿真和器件配置[6-7]。

圖3 接收單元結構示意圖
2.1發送端軟件設計
發送端FPGA實現的功能有:
(1) 控制A/D轉換器。ADS7950內置多路模擬開關,使用時需進行芯片工作模式、采樣通道等設置。本例采用自動模式1進行工作模式配置。
(2) 定義傳輸協議。采用異步串行通信方式,符合單光纖傳輸情況下數據傳輸的要求。本設計定義了一個傳輸協議,如圖4所示。該協議實現兩個功能:一是多路信號的總線傳輸;二是使接收端正確判斷出有效數據的起止時刻。協議數據幀的第一位是起始位,以邏輯“0”為有效狀態,表示有效數據傳送開始;緊接著是4位地址,然后是12位數據,兩者均從低位開始傳輸;有效數據結束后發送一位奇偶校驗位,用于有限差錯檢測;最后以一位邏輯“1”作為停止位,標志著一幀數據傳送結束。

圖4 傳輸協議的數據格式
(3) 編碼模塊。數字信號需要經過編碼,變換成適合在光纖中傳輸的光纖線路碼[8]。因此需對傳輸協議進行編碼處理。本設計選用CMI編碼方式。
CMI碼是一種兩電平非歸零碼(nrz),其編碼規則為:“1”碼交替用“11”和“00”兩位碼表示;“0”碼固定用“01”表示。 “00”和“11”的交替出現使“0”、“1”在碼流中平衡[9]?!?0”作為禁用字。CMI碼最大連“0”和連“1”數都是3個。因而該碼的直流起伏和低頻分量都很小,定時含量很豐富,很容易進行誤碼監測。對該CMI編碼模塊進行功能仿真,仿真結果見圖5。
圖5中,CLK為原始時鐘,用于讀取待編碼數據CODE_IN,CLK2為2倍頻之后的時鐘,可通過直接調用EP1C6中的Cyclone PLL(鎖相環)[10-11]實現。CODE_OUT為編碼之后的并行數據,經過并串轉換后形成CMI碼輸出CMIOUT,可由CODE_OUT觀察編碼是否正確。

圖5 CMI編碼模塊時序仿真結果
2.2接收端軟件設計
接收端FPGA需完成協議接收及有效數據的提取。各模塊功能如下:
(1) 時鐘提取。從接收的數據中恢復數據同步時鐘,再用恢復的同步時鐘讀取數據[10],從而保證讀取數據的正確性[12]。時鐘提取包括邊沿檢測、時鐘倍頻和計數器。邊沿檢測采用D觸發器和非門實現,邊沿檢測電路的輸出作為計數器的復位信號,計數器的最高位即為異步數據的同步時鐘。用這種方法提取的時鐘和CMI碼流頻率一致,為40 MHz。
(2) CMI解碼。提取出的同步時鐘可直接為解碼所用。解碼是將CMI碼流還原成普通的二進制代碼。CMI編碼中“10”是禁用碼組,在數據傳輸正確的情況下,CMI碼流中下降沿時刻必定是新碼組的開始時刻。將“00”、“11”還原為“1”,“01”還原為“0”即可完成解碼。圖6為解碼過程的仿真結果。datain是CMI碼,經時鐘提取產生同步時鐘clockout,解碼的結果可通過nrz信號觀察到,該結果是未經過數據分離的二進制協議結果。

圖6 CMI解碼模塊時序仿真結果
(3) 接收協議。接收協議就是把協議中的4位地址、12位數據和奇偶校驗位分離出來。
(4) 數據存儲模塊。從協議中分離出的數據先存儲到RAM中。將各個采樣點的數據分開存儲,便于后續電路的取用。直接調用EP1C6中的LPM_RAM_DP模塊可以實現該功能。
(5) 控制D/A轉換器[13]。D/A轉換器AD5342是為了方便觀察提取出的有效數據是否正確而設置的,其控制指令來自FPGA。
圖7是發送單元的原始數據幀和接收單元編碼還原后的原始數據幀比較。豎線括出的為一個完整的數據幀。對比發現二者的延時約為170 ns。圖8為光纖(包括光纖模塊的信號調理電路)兩端CMI碼流,二者數據保持一致,延時約為30 ns。

圖7 收發雙方原始數據比較
圖9為發送單元采樣信號和接收單元還原信號的對比波形。信號是頻率為10 kHz的正弦波形。對比發現,信號經采樣、編碼、傳輸、解碼、D/A轉換后并沒有發生畸變。
圖10為發送和接收單元實物圖。

圖8 光纖兩端信號

圖9 正弦波采樣與還原波形

圖10 發送和接收單元實物圖
本文設計制作的多路模擬信號的隔離傳輸系統的收發模塊系統穩定,誤碼率小,抗干擾能力強,實時性強,能很好地解決全數字控制裝置中電壓、電流、轉速、溫度等信號的數字化傳輸問題。該系統可作為電類專業大二、大三年級的本科學生進行課程設計的選擇。其特點和可行性表現在:
(1) 與工程應用相結合,能激發學生對電子系統設計的興趣;
(2) 模擬數字電路相結合,軟件編程和硬件調試相結合,具有綜合性,全面提高學生的動手能力;
(3) 系統結構簡單,可行性好,在現有的電子技術基礎知識層面就可以實現;
(4) 學生的集成電路應用能力得到有效的鍛煉,并且對FPGA的應用從入門達到熟練,為進入專業訓練打下良好的基礎。
References)
[1] 陳小橋,陳慧,張令.基于MSP430F6638的單相正弦波逆變系統設計[J].實驗技術與管理,2015,32(7):75-79.
[2] 盧慧芬,林斌,孫丹,等.DSP電機控制綜合實驗平臺研制[J].實驗技術與管理,2014,31(10):97-102.
[3] 饒文貴,田建生.DSP 串行數據光纖傳輸系統設計[J]. 計算機測量與控制,2007,15(1):127-128.
[4] Texas Instruments Inc. ADS7950 Data Sheet[EB/OL].[2015-12-21].http://www.ti.com/product/ADS7950/datasheet?keyMatch=ads7950&tisearch=Search-EN-Everything.
[5] 光纖收發器白皮書[EB/OL]. (2006-06-06)[2015-12-21].http://www. cnii. com.cn/20060529/ca355632.htm.
[6] 張小平,趙不賄.Altera新型FPGA器件的配置方式[J].微處理機,2006(4):93-95.
[7] Altera Corporation. Cyclone FPGA Family Data Sheet[EB/OL].[2015-12-21]. http://www.altera.com.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/ds/ds_cyc.pdf?GSA_pos=2&WT.oss_r=1&WT.oss=Cyclone+FPGA+Family+datasheet.
[8] 王廷堯. 光通信設備基礎[M]. 天津: 天津科技出版社,1992.
[9] 羅杰. Verilog HDL與數字ASIC設計基礎[M]. 武漢:華中科技大學出版社,2008.
[10] 遠坂俊昭. 鎖相環(PLL)電路設計與應用[M].何希才,譯.北京: 科學出版社,2006.
[11] Using PLLs in Cyclone Devices:Cyclone Handbook [EB/OL].[2015-12-21].http:///www.altera.com.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/hb/cyc/cyc_c51006.pdf?GSA_pos=2&WT.oss_r=1&WT.oss=Using+PLLs+in+Cyclone+Devices.
[12] 蘇紅,張俊輝. 利用FPGA內部DLL實現數字時鐘恢復[J]. 科學技術與工程,2007,7(18):4720-4722.
[13] DAC的分類與指標[EB/OL]. (2009-03-08)[2015-12-21].http://www.21ic. com/app/analog/200903/33250.htm.
Design of analog signal sampling and isolated transmission system based on FPGA
Zhang Dehua, Fu Xiaocheng, Jin Xiaoguang
(College of Electrical and Engineering, Zhejiang University, Hangzhou 310027, China)
This system is designed for the requirement of multi-channel analog signal sample and isolated transmission. The sending unit takes an multi-channel A/D converter to digitize the analog signals. The field programmable gate array (FPGA) is taken as the core component to realize conversion control and data process,generate a digital bit stream which can be transmitted in a single optical fiber. The receiving unit extracts effective digital signals and stores it into memory for control use. A D/A converter is used for observing the reduction signal. Sending and receiving unit modules are built for the simulation and experiment. The results prove that the method has strong anti noise ability,low error rate and high transmission speed. The undergraduate students have the ability to design the transmission system. Therefore the implementation can be completed in the laboratory. The proposed design scheme can be taken as an option in the curriculum design of electronic system.
analog signal; isolated transmission; FPGA; coding
DOI:10.16791/j.cnki.sjg.2016.06.019
2015-12-30
浙江省教育廳科研項目(Y201326823)資助
張德華(1972—),女,浙江杭州,博士,副教授,主要從事電子技術基礎理論和實驗教學和科研工作.
E-mail:eedhzh@zju.edu.cn
TN710
A
1002-4956(2016)6-0070-04