采用16M晶振時,82C200的讀寫周期時間為230ns,讀寫控制信號的有效時間必須大于170ns.在DSP的端口操作中插入等待周期,用正常的DSP讀寫操作先鎖存地址索引寄存器的值,再寫入或讀出數(shù)據(jù)寄存器的值。為產(chǎn)生滿足82C200時序要求的ALE寬度(>35ns)和RD、WR信號寬度(>170ns),DSP內(nèi)部設(shè)置等待狀態(tài)發(fā)生器控制寄存器的ISWS值應(yīng)大于3。在進(jìn)行端口讀寫時插入3個等待周期,當(dāng)DSP的Fclkout1=20MHz時,DSP的DSPRD和DSPWR的有效電平寬度延長為175ns,(>170ns);82C200的ALE信號由DSPWR、IS和DSPA0-DSPA3譯碼產(chǎn)生,必然>35ns;同時,82C200的讀出數(shù)據(jù)在DSPRD失效后的保持時間為10ns,不會造成總線沖突;而DSP的寫數(shù)據(jù)持續(xù)時間>25ns,滿足82C200對寫信號失效后數(shù)據(jù)保持時間應(yīng)>23ns的要求,綜合分析,加入3個等待周期后,完全能實(shí)現(xiàn)DSP的82C200的時序配合,且操作簡單。DSP插補(bǔ)通訊模塊的軟件設(shè)計DSP插補(bǔ)通訊模塊作為工控機(jī)和CANBus子節(jié)點(diǎn)的通訊中介,主要完成插補(bǔ)計算以及數(shù)據(jù)的上傳下達(dá)任務(wù)。按模塊化的方法編程,配合DSP插補(bǔ)通訊模塊的硬件系統(tǒng)實(shí)現(xiàn)既定任務(wù)。
軟件結(jié)構(gòu)按任務(wù)劃分任務(wù)調(diào)度管理、命令檢查、插補(bǔ)計算、CANBus信息管理4大部分。任務(wù)調(diào)度管理是軟件的核心模塊,根據(jù)優(yōu)先級調(diào)度其他任務(wù)的執(zhí)行;命令檢查模塊為常駐任務(wù)模塊,在系統(tǒng)初始化時建立,優(yōu)先級較低,通過查詢DPRAM的命令區(qū),獲取工控機(jī)下達(dá)的命令,進(jìn)行相應(yīng)的操作;插補(bǔ)計算模塊是優(yōu)先級較高的條件執(zhí)行模塊,當(dāng)允許插補(bǔ)計算并且插補(bǔ)緩沖區(qū)有空時執(zhí)行,該模塊從DPRAM中的解釋結(jié)果緩沖區(qū)獲取數(shù)據(jù),處理后將結(jié)果放入發(fā)送信息緩沖區(qū),等待發(fā)送給下位機(jī)。CANBus信息管理分為接收信息處理和發(fā)送信息處理兩部分,分別負(fù)責(zé)CANBus上信息的接收和發(fā)送。CAN控制器在接收到節(jié)點(diǎn)信息包后向DSP產(chǎn)生中斷,中斷處理程序?qū)⒃撔畔钊虢邮招畔㈥犃校唤邮仗幚沓绦蛑鹨惶幚?;同時需要下傳的插補(bǔ)數(shù)據(jù)、PLC信息以及操作指令由發(fā)送處理程序依據(jù)信息優(yōu)先級進(jìn)行排列,依次發(fā)送下去。本插補(bǔ)通訊模塊采用速度快、性價比高的DSP芯片,通過雙端口RAM實(shí)現(xiàn)與工控機(jī)的數(shù)據(jù)交換,與以往采用51系列、96系列單片機(jī)實(shí)現(xiàn)的系統(tǒng)相比,速度快、結(jié)構(gòu)簡單,功能完備,在數(shù)控系統(tǒng)中應(yīng)用有效提高上、下位機(jī)信息傳遞的速度及可靠性。