范春健,韓 斌,林永才,周根成
(1. 江蘇科技大學 計算機科學與工程學院,鎮江 212003;2. 江蘇合豐機械制造有限公司,張家港 215628 )
隨著工業機器人在企業中的不斷迅速發展,運動控制器控制多個伺服驅動系統的能力在不斷地提高,電機驅動的精度以及遠距離傳輸通信影響了整個機器人運動操作。
傳統的工業機器人控制系統采用的是專用的計算機加多單片機、多控制封閉回路的體系結構,但此種技術存在制造成本高,開發周期長,升級困難,無法添加系統新功能等一系列缺點。隨著技術的發展,采取了通用PC機和運動控制卡實現控制功能的方案[1]。PC機具有編程簡單、友好的人機交互界面、在線操作和使用方便等特點。但是,通用計算機缺點在于系統體積大,功耗大,難以應用于工業現場,而且難以實現實時性要求較高的遠距離傳輸通信。
針對現有控制器的不足,本文采用了嵌入式集成處理器TI公司的DM 3730作為工業機器人控制系統的核心單元。數字媒體微處理器DM 3730集成了1GHz的ARM Cortex?-A 8內核,800MHz的TMS320C64x +?DSP 內核,超低功耗的供電及豐富的多通道傳輸接口提供給Xilinx FPGA多I/O輸入,利用內部邏輯資源,通過LVDS I/O輸出達到異步差分通信。
在工業機器人控制通訊的現場總線中,實現遠端I/O通訊的協議有Ethernet、CAN、Modbus、Profibus、DeviceNet等,其中各協議的傳輸速率、傳輸距離都相對比較慢、短,且傳輸數據格式和轉換延時比較復雜[2],現針對工業通訊的不足和設計接口的特點,采用了LVDS的伺服控制系統進行設計。總體設計結構如圖1所示,系統包括控制器與FPGA通訊模塊,并將編碼器、光柵尺反饋信號至控制器處理,實現在10米外的驅動器上LVDS通訊過程中傳輸100Mbps的比特率信號。

圖1 系統總體結構圖
硬件部分包括主控電路、電源管理電路、電源轉換電路、時鐘電路、LVDS差分通訊電路等。如圖2所示,工業機器人控制器主板系統結構圖。

圖2 控制器主板系統結構圖
為了減少設計成本和提高穩定性以及利于開發升級,采用TI公司具有1GHz 的ARM Cortex?-A 8和800MHz的TMS320C64x +?DSP架構的低功耗芯片DM 3730,提供了32KB的指令及數據寄存器、64KB SRAM和256KB的L2 ROM,可有效地緩存數據。內部I/O具有4個USB、2個UART、4個SPI、4個BSP以及4個I2C的多功能復用管腳輸出,處理器配合Xilinx FPGA Spartan-6系列的XC6SLX4中的3840個邏輯單元、600個配置邏輯塊(CLB)、4個數字時鐘管理器(DCM)組成倍頻計數時鐘電路,在DDR SDRAM存儲器進行讀寫和功能配置,電源管理器TPS65930將實時控制時鐘和電源驅動。
在DM 3730內部存儲結構運行狀態下,為達到芯片系統工作的高速頻率,要求為內部電路提供穩定的定時器,使用了26MHz的有源晶振,其內部經過一系列的鎖相環(PLL)和信號驅動器產生多個處理器的內部時鐘。為了產生內核CPU的時鐘,通過由PRCM寄存器控制的數字鎖相環來運行26MHz信號。DM 3730的外部晶振時鐘32.768KHz的晶體必須直接與電源管理器TPS65930相連,為的是對CPU啟動和實時時鐘模塊提供參考時鐘。

圖3 主控有源和無源時鐘電路
本設計中采用具有PWM控制的3A降壓轉換器作為DC轉換芯片AP1510,輸入電壓范圍在3.6V-23V,輸出電壓范圍在0.8V-Vcc,PWM調節在0%-100%之間,在輸入為12V,工作溫度在25°C時,反饋電壓VFB為0.8V,帶負載時輸出電流為0.2A,電源效率達到91%。

圖4 12V轉5V直流開關轉換
如圖4所示,芯片AP1510輸入電壓為12V,范圍在12V+500m V, 在OCSET端串接一個5.6KΩ電阻,限流為90uA, 當使能為高電平時,正常工作,內部的MOSFET 柵極輸出一個開關電壓,經外部穩壓管蓄流,電感電容儲能改變原先的方波為正弦波,并經電解電容濾波減少電磁干擾,通過改變外部電阻的分壓比實現輸出的大小,并將分壓值反饋給VFB,通過與內部基準電壓比較,再送給PWM控制電路,匹配輸出,由這一原理得出輸出電壓的公式:

低壓差分信號(LVDS)是適應高速數據傳輸和低功耗的一種用通用點對點物理接口技術。LVDS物理接口使用1.2V偏置電壓作為基準,擺幅提供大約350mV,發送和接收信號最大延時時間為2.7ns。LVDS比RS-485能提供更高的傳輸速率(一般為155Mbps)、更低的功耗,特別適合工業控制、電信基礎設施和計算機的外圍設備接口應用。
本論文主要設計并實現FPGA產生百兆比特率在LVDS標準串行差分下遠距離傳輸,而盡量減少信號傳輸衰減,利用專用收發均衡器CLC001和CLC012將之在雙絞屏蔽線上損耗給予補償,由于輸出數據的壓擺率和幅度可解決在PCB上減少很大一部分的電磁干擾[3]。如圖5所示,從FPGA內部邏輯電路向I/O端口輸出要達到十幾米的差分信號必須加均衡器芯片CLC001,通過調節Rref的電阻值,輸出可高達2V左右,調控電纜內的各信號電平。在接收器的DI+和DI-兩端必須接一個100Ω的終端匹配電阻,這樣有效地抑制噪音干擾。

圖5 LVDS收發均衡電路
本設計采用FPGA Spartan-6系列XC6SLX 4內的一個數字時鐘管理器DCM、兩個獨立的吉比特收發器電路、一個先進先出FIFO和串行數據輸入DIN完成并串數據發送再接收恢復的LVDS傳輸通訊。每個收發器具有高達3.2Gb/s的數據率,分隔的PLL復用參考頻率30MHz,并且具有大量用戶自定義的特征參數。如圖6所示,整個設計的流程發送接收圖,在DCM給出的信號輸入SQ創建了0°和90°相位與DIN給出信號輸入SC創建了0°和45°相位的通用互連[4],通過可配置邏輯塊(CLB)形成轉接矩陣優化進位通道,在時鐘周期內發送串行數據至FIFO緩存處理,零延時輸出信號。接收時首先8次密集采樣起始位,采樣到的起始位為周期的某一時刻Tn,然后在Tn+5=Tm采樣數據D0位,依次在下一個周期采樣點Tm+8采樣下一位數據,共有10位數據,包括起始位和停止位。經時延處理在每一個CP下降沿來臨時接收得到LVDS串行數據。

圖6 LVDS通訊傳輸流程圖
發送模塊根據流程圖的設計要求,利用VHDL語言描述了CP 為PLL的60M輸入信號2倍頻時鐘輸入,SQ 為DCM創建的90°時間間隔信號,SC為DIN創建的45°時間間隔信號,時鐘管理管道中的PLL 提供時鐘相位為防止DCM的time0 和 time90輸出的抖動[5]。


根據流程圖的要求,下面VHDL接收模塊對有效數據進行判斷,采用多次密集型電平區間采樣方法,在接收過程中當初始位在CP時鐘8個等分點T1時刻采樣得到8位反復采樣起始位信號b[2..0],接著采樣數據位在T5時刻有每隔8個采樣點采樣的信號b[7..3],經數據恢復單元DRU讀入地址[6],最后接收有效的8位串行數據LVDS信號d[7..0]。

控制器與驅動器的LVDS通訊決定整個系統信號處理和反饋控制的高精度傳輸。通過VHDL語言生成得到,如圖7所示的LVDS輸入輸出的Quartus II仿真圖,FPGA實現實時時鐘120MHz,其中CP為周期性方波信號,SQ、SC在周期內不同相位的變化,b[2..0]采樣起始位以密集快速采樣方式[7]檢測到起始狀態是否為低電平,然后以Tn+5的間隔在高電平穩態時采集b[7..3]信號,最后輸出數據d[7..0]。

圖7 波形仿真圖
在實際的LVDS傳輸環境中,存在許多干擾噪聲,現把外來干擾視為各頻譜分量服從均勻分布且幅度服從高斯分布的加性高斯白噪聲(AWGN),對其信號加載到傳輸通道中,得到不同信噪比下的數據位誤碼率,圖8所示,信噪比在0-30dB之間誤碼率比較高,當信噪比增大時,系統的誤碼率就降低。
為使得差分數據在時鐘周期內能無誤地傳送每一位,達到零延遲傳輸數據。首先在LVDS收發器兩端增加均衡器,減少噪音信號;其次在硬件PCB上差分線應等長、等間距、少過孔走蛇形線,LVDS接口用濾波器和粗雙絞線對信號進行處理;最后在傳輸8位數據后打包檢查CRC校驗,用2個ROM查表方法實現,即用高低4位二進制數在乘法器中相乘直接得到一個8位的補碼,重新發送本段內容,這樣如圖9所示,誤碼率幾乎為零。

圖8 LVDS受加性高斯白噪聲的誤碼率

圖9 LVDS兩端加均衡器的誤碼率
[1] 王天然,曲道奎.工業機器人控制系統的開放體系結構[J]. 機器人.2002,5(3):256-261.
[2] 黃濤,程鑫.FPGA在高速高精運動控制系統中的應用[J].武漢理工大學學報.2007.2:28-31.
[3] 高同海,宋明,丁曉明.自適應均衡器在LVDS總線長距離傳輸中的應用[J].單片機與嵌入式系統應用.2005,11:11-12.
[4] John F.Snow.使用IDELAY實現高效8倍過采樣異步串行數據恢復[N].單片機與嵌入式系統應用,2007,9.
[5] Davor Glisic.LVDS轉發器與交叉點開關延長FPDLink II接口的傳輸距離[N].美國國家半導體公司http://www.national.com.2008:1-7.
[6] 尤 揚, 陳 嵐.一種應用于8B/10B編碼串并轉換電路的低功耗LVDS接收器設計[J].電子器件.2008,6(3):915-918.
[7] 王小艷,張會新,孫永生,楊倩.Cam er a Link 協議和FPGA的數字圖像信號源設計[J].國外電子元器件.2008.7:59-61.