2.2.5 嵌入式DSP控制軟件設計
本次設計用的核心DSP采用TI公司的TMS320LF2812,嵌入軟件的開發采用TI公司提供的集成開發環境CCS3.3開發平臺,控制程序主功能包括:
1) DSP人機接口的實現
DSP的串口通訊功能實現函數為:
串口數據發送ComDataTransfer();
串口數據解析ComDataExecute();
串口數據接收ComDataRecieve();
2) 主USB的U盤讀寫功能
在人機界面的文件管理功能下,可實現對U盤的讀寫操作,實現U盤和內存的數據相互復制,主要功能實現函數為:
Uint8 UdiskToDsp(Uint16 fileno);
3) 內存數據的讀寫管理
內存芯片采用K9F1208U,該芯片包含4096個BLOCK,一個BLOCK包含32個
PAGES,一個PAGE包含512+16個字節,該NANDFLASH編程以數據頁為單位,芯片擦除以BLOCK為單位。芯片編程包括芯片擦除和寫入。本系統對該內存的訪問采用高速IO口進行。
內存讀函數:void NF_ReadPCData(void)
內存寫函數:void NF_WritePCData(void)
4) 流水線打標控制過程的實現
此部分是激光打標工作的核心,當設備進入工作狀態后,DSP根據打標數據及相關打標參數,對激光和振鏡實現實時控制,主要分以下幾個部分:
1、 控制激光能量的大小與開關輸出同振鏡的轉動實現同步控制。
開激光函數:void LaserOn(void);
關激光函數:void LaserOff(void);
2、 對控制的矢量數據,進行直線或圓弧插補計算,以取得有效控制振鏡運動點數據。
插補計算函數:void CompensateCul();
3、 根據編碼器數據計算出的偏移量,對控制振鏡數據進行偏移補償。
流水線偏移補償函數:void DeviationCul();
4、 根據聚焦場鏡的相關校正參數,對控制振鏡數據進行非線性校正。
非線性校正函數:void Correct();
5、 輸出最終的控制振鏡數據到DA芯片。
振鏡運動控制函數:void OutXY(CPoint pt);
2.2.6 流水線打標時位置補償的基本原理
當靜態打標輸出一個正方形時,打標效果如圖4(a)所示,當按靜態數據不進行補償,在流水線上進行打標時,打標效果如圖4(b)所示,黑色線條代表實際打標輸出形狀,紅色方框代表要打標輸出的圖形。可見,在沒有流水線偏移量補償時,所有的輸出數據都沿著流水線運動方向的反方向進行了偏移,而且偏移量隨時間增加,偏移量在數值上等于流水線速度與時間的乘積。
為了保證輸出效果不變形,就須動態引入流水線的移動補償數據對圖形進行修正。流水線的移動補償數據通過安裝在流水線上的編碼器或參數中設定的流水線速度值獲得,當打標開始時,如采用編碼器計數,則啟動對編碼器脈沖進行計數,算出當前流水線的移動量;如采用設定流水線速度,則直接由速度與時間的乘積來計算從打標開始到現在的移動量,此移動量與當前打標數據進行疊加,即為實際要輸出的帶補償量的打標數據。程序流程圖如圖5所示。
上頁 1 2 3 4 下頁