范春健,韓 斌,林永才,周根成
(1. 江蘇科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,鎮(zhèn)江 212003;2. 江蘇合豐機(jī)械制造有限公司,張家港 215628 )
隨著工業(yè)機(jī)器人在企業(yè)中的不斷迅速發(fā)展,運(yùn)動(dòng)控制器控制多個(gè)伺服驅(qū)動(dòng)系統(tǒng)的能力在不斷地提高,電機(jī)驅(qū)動(dòng)的精度以及遠(yuǎn)距離傳輸通信影響了整個(gè)機(jī)器人運(yùn)動(dòng)操作。
傳統(tǒng)的工業(yè)機(jī)器人控制系統(tǒng)采用的是專用的計(jì)算機(jī)加多單片機(jī)、多控制封閉回路的體系結(jié)構(gòu),但此種技術(shù)存在制造成本高,開(kāi)發(fā)周期長(zhǎng),升級(jí)困難,無(wú)法添加系統(tǒng)新功能等一系列缺點(diǎn)。隨著技術(shù)的發(fā)展,采取了通用PC機(jī)和運(yùn)動(dòng)控制卡實(shí)現(xiàn)控制功能的方案[1]。PC機(jī)具有編程簡(jiǎn)單、友好的人機(jī)交互界面、在線操作和使用方便等特點(diǎn)。但是,通用計(jì)算機(jī)缺點(diǎn)在于系統(tǒng)體積大,功耗大,難以應(yīng)用于工業(yè)現(xiàn)場(chǎng),而且難以實(shí)現(xiàn)實(shí)時(shí)性要求較高的遠(yuǎn)距離傳輸通信。
針對(duì)現(xiàn)有控制器的不足,本文采用了嵌入式集成處理器TI公司的DM 3730作為工業(yè)機(jī)器人控制系統(tǒng)的核心單元。數(shù)字媒體微處理器DM 3730集成了1GHz的ARM Cortex?-A 8內(nèi)核,800MHz的TMS320C64x +?DSP 內(nèi)核,超低功耗的供電及豐富的多通道傳輸接口提供給Xilinx FPGA多I/O輸入,利用內(nèi)部邏輯資源,通過(guò)LVDS I/O輸出達(dá)到異步差分通信。
在工業(yè)機(jī)器人控制通訊的現(xiàn)場(chǎng)總線中,實(shí)現(xiàn)遠(yuǎn)端I/O通訊的協(xié)議有Ethernet、CAN、Modbus、Profibus、DeviceNet等,其中各協(xié)議的傳輸速率、傳輸距離都相對(duì)比較慢、短,且傳輸數(shù)據(jù)格式和轉(zhuǎn)換延時(shí)比較復(fù)雜[2],現(xiàn)針對(duì)工業(yè)通訊的不足和設(shè)計(jì)接口的特點(diǎn),采用了LVDS的伺服控制系統(tǒng)進(jìn)行設(shè)計(jì)??傮w設(shè)計(jì)結(jié)構(gòu)如圖1所示,系統(tǒng)包括控制器與FPGA通訊模塊,并將編碼器、光柵尺反饋信號(hào)至控制器處理,實(shí)現(xiàn)在10米外的驅(qū)動(dòng)器上LVDS通訊過(guò)程中傳輸100Mbps的比特率信號(hào)。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
硬件部分包括主控電路、電源管理電路、電源轉(zhuǎn)換電路、時(shí)鐘電路、LVDS差分通訊電路等。如圖2所示,工業(yè)機(jī)器人控制器主板系統(tǒng)結(jié)構(gòu)圖。
圖2 控制器主板系統(tǒng)結(jié)構(gòu)圖
為了減少設(shè)計(jì)成本和提高穩(wěn)定性以及利于開(kāi)發(fā)升級(jí),采用TI公司具有1GHz 的ARM Cortex?-A 8和800MHz的TMS320C64x +?DSP架構(gòu)的低功耗芯片DM 3730,提供了32KB的指令及數(shù)據(jù)寄存器、64KB SRAM和256KB的L2 ROM,可有效地緩存數(shù)據(jù)。內(nèi)部I/O具有4個(gè)USB、2個(gè)UART、4個(gè)SPI、4個(gè)BSP以及4個(gè)I2C的多功能復(fù)用管腳輸出,處理器配合Xilinx FPGA Spartan-6系列的XC6SLX4中的3840個(gè)邏輯單元、600個(gè)配置邏輯塊(CLB)、4個(gè)數(shù)字時(shí)鐘管理器(DCM)組成倍頻計(jì)數(shù)時(shí)鐘電路,在DDR SDRAM存儲(chǔ)器進(jìn)行讀寫和功能配置,電源管理器TPS65930將實(shí)時(shí)控制時(shí)鐘和電源驅(qū)動(dòng)。
在DM 3730內(nèi)部存儲(chǔ)結(jié)構(gòu)運(yùn)行狀態(tài)下,為達(dá)到芯片系統(tǒng)工作的高速頻率,要求為內(nèi)部電路提供穩(wěn)定的定時(shí)器,使用了26MHz的有源晶振,其內(nèi)部經(jīng)過(guò)一系列的鎖相環(huán)(PLL)和信號(hào)驅(qū)動(dòng)器產(chǎn)生多個(gè)處理器的內(nèi)部時(shí)鐘。為了產(chǎn)生內(nèi)核CPU的時(shí)鐘,通過(guò)由PRCM寄存器控制的數(shù)字鎖相環(huán)來(lái)運(yùn)行26MHz信號(hào)。DM 3730的外部晶振時(shí)鐘32.768KHz的晶體必須直接與電源管理器TPS65930相連,為的是對(duì)CPU啟動(dòng)和實(shí)時(shí)時(shí)鐘模塊提供參考時(shí)鐘。
圖3 主控有源和無(wú)源時(shí)鐘電路
本設(shè)計(jì)中采用具有PWM控制的3A降壓轉(zhuǎn)換器作為DC轉(zhuǎn)換芯片AP1510,輸入電壓范圍在3.6V-23V,輸出電壓范圍在0.8V-Vcc,PWM調(diào)節(jié)在0%-100%之間,在輸入為12V,工作溫度在25°C時(shí),反饋電壓VFB為0.8V,帶負(fù)載時(shí)輸出電流為0.2A,電源效率達(dá)到91%。
圖4 12V轉(zhuǎn)5V直流開(kāi)關(guān)轉(zhuǎn)換
如圖4所示,芯片AP1510輸入電壓為12V,范圍在12V+500m V, 在OCSET端串接一個(gè)5.6KΩ電阻,限流為90uA, 當(dāng)使能為高電平時(shí),正常工作,內(nèi)部的MOSFET 柵極輸出一個(gè)開(kāi)關(guān)電壓,經(jīng)外部穩(wěn)壓管蓄流,電感電容儲(chǔ)能改變?cè)鹊姆讲檎也?,并?jīng)電解電容濾波減少電磁干擾,通過(guò)改變外部電阻的分壓比實(shí)現(xiàn)輸出的大小,并將分壓值反饋給VFB,通過(guò)與內(nèi)部基準(zhǔn)電壓比較,再送給PWM控制電路,匹配輸出,由這一原理得出輸出電壓的公式:
低壓差分信號(hào)(LVDS)是適應(yīng)高速數(shù)據(jù)傳輸和低功耗的一種用通用點(diǎn)對(duì)點(diǎn)物理接口技術(shù)。LVDS物理接口使用1.2V偏置電壓作為基準(zhǔn),擺幅提供大約350mV,發(fā)送和接收信號(hào)最大延時(shí)時(shí)間為2.7ns。LVDS比RS-485能提供更高的傳輸速率(一般為155Mbps)、更低的功耗,特別適合工業(yè)控制、電信基礎(chǔ)設(shè)施和計(jì)算機(jī)的外圍設(shè)備接口應(yīng)用。
本論文主要設(shè)計(jì)并實(shí)現(xiàn)FPGA產(chǎn)生百兆比特率在LVDS標(biāo)準(zhǔn)串行差分下遠(yuǎn)距離傳輸,而盡量減少信號(hào)傳輸衰減,利用專用收發(fā)均衡器CLC001和CLC012將之在雙絞屏蔽線上損耗給予補(bǔ)償,由于輸出數(shù)據(jù)的壓擺率和幅度可解決在PCB上減少很大一部分的電磁干擾[3]。如圖5所示,從FPGA內(nèi)部邏輯電路向I/O端口輸出要達(dá)到十幾米的差分信號(hào)必須加均衡器芯片CLC001,通過(guò)調(diào)節(jié)Rref的電阻值,輸出可高達(dá)2V左右,調(diào)控電纜內(nèi)的各信號(hào)電平。在接收器的DI+和DI-兩端必須接一個(gè)100Ω的終端匹配電阻,這樣有效地抑制噪音干擾。
圖5 LVDS收發(fā)均衡電路
本設(shè)計(jì)采用FPGA Spartan-6系列XC6SLX 4內(nèi)的一個(gè)數(shù)字時(shí)鐘管理器DCM、兩個(gè)獨(dú)立的吉比特收發(fā)器電路、一個(gè)先進(jìn)先出FIFO和串行數(shù)據(jù)輸入DIN完成并串?dāng)?shù)據(jù)發(fā)送再接收恢復(fù)的LVDS傳輸通訊。每個(gè)收發(fā)器具有高達(dá)3.2Gb/s的數(shù)據(jù)率,分隔的PLL復(fù)用參考頻率30MHz,并且具有大量用戶自定義的特征參數(shù)。如圖6所示,整個(gè)設(shè)計(jì)的流程發(fā)送接收?qǐng)D,在DCM給出的信號(hào)輸入SQ創(chuàng)建了0°和90°相位與DIN給出信號(hào)輸入SC創(chuàng)建了0°和45°相位的通用互連[4],通過(guò)可配置邏輯塊(CLB)形成轉(zhuǎn)接矩陣優(yōu)化進(jìn)位通道,在時(shí)鐘周期內(nèi)發(fā)送串行數(shù)據(jù)至FIFO緩存處理,零延時(shí)輸出信號(hào)。接收時(shí)首先8次密集采樣起始位,采樣到的起始位為周期的某一時(shí)刻Tn,然后在Tn+5=Tm采樣數(shù)據(jù)D0位,依次在下一個(gè)周期采樣點(diǎn)Tm+8采樣下一位數(shù)據(jù),共有10位數(shù)據(jù),包括起始位和停止位。經(jīng)時(shí)延處理在每一個(gè)CP下降沿來(lái)臨時(shí)接收得到LVDS串行數(shù)據(jù)。
圖6 LVDS通訊傳輸流程圖
發(fā)送模塊根據(jù)流程圖的設(shè)計(jì)要求,利用VHDL語(yǔ)言描述了CP 為PLL的60M輸入信號(hào)2倍頻時(shí)鐘輸入,SQ 為DCM創(chuàng)建的90°時(shí)間間隔信號(hào),SC為DIN創(chuàng)建的45°時(shí)間間隔信號(hào),時(shí)鐘管理管道中的PLL 提供時(shí)鐘相位為防止DCM的time0 和 time90輸出的抖動(dòng)[5]。
根據(jù)流程圖的要求,下面VHDL接收模塊對(duì)有效數(shù)據(jù)進(jìn)行判斷,采用多次密集型電平區(qū)間采樣方法,在接收過(guò)程中當(dāng)初始位在CP時(shí)鐘8個(gè)等分點(diǎn)T1時(shí)刻采樣得到8位反復(fù)采樣起始位信號(hào)b[2..0],接著采樣數(shù)據(jù)位在T5時(shí)刻有每隔8個(gè)采樣點(diǎn)采樣的信號(hào)b[7..3],經(jīng)數(shù)據(jù)恢復(fù)單元DRU讀入地址[6],最后接收有效的8位串行數(shù)據(jù)LVDS信號(hào)d[7..0]。
控制器與驅(qū)動(dòng)器的LVDS通訊決定整個(gè)系統(tǒng)信號(hào)處理和反饋控制的高精度傳輸。通過(guò)VHDL語(yǔ)言生成得到,如圖7所示的LVDS輸入輸出的Quartus II仿真圖,F(xiàn)PGA實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘120MHz,其中CP為周期性方波信號(hào),SQ、SC在周期內(nèi)不同相位的變化,b[2..0]采樣起始位以密集快速采樣方式[7]檢測(cè)到起始狀態(tài)是否為低電平,然后以Tn+5的間隔在高電平穩(wěn)態(tài)時(shí)采集b[7..3]信號(hào),最后輸出數(shù)據(jù)d[7..0]。
圖7 波形仿真圖
在實(shí)際的LVDS傳輸環(huán)境中,存在許多干擾噪聲,現(xiàn)把外來(lái)干擾視為各頻譜分量服從均勻分布且幅度服從高斯分布的加性高斯白噪聲(AWGN),對(duì)其信號(hào)加載到傳輸通道中,得到不同信噪比下的數(shù)據(jù)位誤碼率,圖8所示,信噪比在0-30dB之間誤碼率比較高,當(dāng)信噪比增大時(shí),系統(tǒng)的誤碼率就降低。
為使得差分?jǐn)?shù)據(jù)在時(shí)鐘周期內(nèi)能無(wú)誤地傳送每一位,達(dá)到零延遲傳輸數(shù)據(jù)。首先在LVDS收發(fā)器兩端增加均衡器,減少噪音信號(hào);其次在硬件PCB上差分線應(yīng)等長(zhǎng)、等間距、少過(guò)孔走蛇形線,LVDS接口用濾波器和粗雙絞線對(duì)信號(hào)進(jìn)行處理;最后在傳輸8位數(shù)據(jù)后打包檢查CRC校驗(yàn),用2個(gè)ROM查表方法實(shí)現(xiàn),即用高低4位二進(jìn)制數(shù)在乘法器中相乘直接得到一個(gè)8位的補(bǔ)碼,重新發(fā)送本段內(nèi)容,這樣如圖9所示,誤碼率幾乎為零。
圖8 LVDS受加性高斯白噪聲的誤碼率
圖9 LVDS兩端加均衡器的誤碼率
[1] 王天然,曲道奎.工業(yè)機(jī)器人控制系統(tǒng)的開(kāi)放體系結(jié)構(gòu)[J]. 機(jī)器人.2002,5(3):256-261.
[2] 黃濤,程鑫.FPGA在高速高精運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào).2007.2:28-31.
[3] 高同海,宋明,丁曉明.自適應(yīng)均衡器在LVDS總線長(zhǎng)距離傳輸中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用.2005,11:11-12.
[4] John F.Snow.使用IDELAY實(shí)現(xiàn)高效8倍過(guò)采樣異步串行數(shù)據(jù)恢復(fù)[N].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007,9.
[5] Davor Glisic.LVDS轉(zhuǎn)發(fā)器與交叉點(diǎn)開(kāi)關(guān)延長(zhǎng)FPDLink II接口的傳輸距離[N].美國(guó)國(guó)家半導(dǎo)體公司http://www.national.com.2008:1-7.
[6] 尤 揚(yáng), 陳 嵐.一種應(yīng)用于8B/10B編碼串并轉(zhuǎn)換電路的低功耗LVDS接收器設(shè)計(jì)[J].電子器件.2008,6(3):915-918.
[7] 王小艷,張會(huì)新,孫永生,楊倩.Cam er a Link 協(xié)議和FPGA的數(shù)字圖像信號(hào)源設(shè)計(jì)[J].國(guó)外電子元器件.2008.7:59-61.