技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于SOPC的簡易運動控制芯片方案

基于SOPC的簡易運動控制芯片方案

時間:2006-06-01 15:19:00來源:0

導(dǎo)語:?SM1000是一個高性價比的運動控制芯片級方案,也是SOPC解決方案
摘要: SM1000是一個高性價比的運動控制芯片級方案,也是SOPC解決方案,它提供長達32位的可編程計數(shù)和脈沖發(fā)生的功能,簡易而又方便于客戶應(yīng)用,面向更廣泛、更一般的運動控制應(yīng)用領(lǐng)域。 關(guān)鍵詞: 運動控制 可編程計數(shù)和脈沖發(fā)生 SOPC 現(xiàn)在的運動控制器已經(jīng)發(fā)展到了以專用芯片(ASIC)或FPGA作為核心處理部件的開放式運動控制器。這樣的解決方案突出的特點,是讓運動控制的處理部分以獨立的、硬件性方式展開,增加系統(tǒng)的性能和可靠性。有效地解決了以單純的MCU或DSP系統(tǒng)的處理帶寬限制,以及用戶系統(tǒng)軟件和運動控制軟件混雜性的問題。 業(yè)界也早已出現(xiàn)了各種類型的運動控制專用芯片,雖然有較高的功能、性能,但一般都比較復(fù)雜,使得客戶應(yīng)用起來非常的困難。 用戶們常常需要一種容易用的運動控制芯片與通用MCU/CPU結(jié)合起來的系統(tǒng)方案,用以面向更一般性的或中低端的應(yīng)用場合。這樣的方案里,運動控制芯片部分可以擔(dān)當(dāng)關(guān)鍵的馬達控制信號發(fā)生功能,又可以擁有較高的性能和其他的系統(tǒng)性接口資源(若是利用8253/8254之類的計數(shù)器,就顯得捉襟見肘,計數(shù)長度太短,且沒有其他資源);而在MCU/CPU部分可以通過一些簡單的控制指令完成對馬達運動的控制,更多的資源用來處理系統(tǒng)界面或應(yīng)用軟件。 簡單而言,就是需要一個方案有效地協(xié)調(diào)了運動控制系統(tǒng)的軟硬件的分工,軟件部分方便客戶開發(fā),硬件部分確保系統(tǒng)性能。 深圳市斯邁迪科技發(fā)展有限公司 (Smarteer)推出的SM1000系列SOPC運動控制芯片就是上述需求的解決方案。它是在高性能系列運動控制FPGA/芯片——SM5000方案后,經(jīng)過不斷的技術(shù)累積和市場調(diào)查后,特地為中低端市場應(yīng)用推出的。 SM1000是一個簡易的運動控制芯片系列,它提供長達32位的可編程計數(shù)和脈沖發(fā)生的功能,脈沖頻率可以高達10M以上。同時在芯片內(nèi)部增加了許多系統(tǒng)性的資源,比如:內(nèi)置3-8譯碼器、地址鎖存器、矩陣鍵盤掃描接口和通用I/O等。由于芯片是SOPC技術(shù)方案,因此還可以根據(jù)客戶的具體需求做定向化的設(shè)計。 SM1000簡易而又方便于客戶應(yīng)用,它面向更廣泛、更一般的運動控制應(yīng)用領(lǐng)域。利用它結(jié)合MCU/CPU可以便捷地組建成一個運動控制系統(tǒng),尤其是一些嵌入式、系統(tǒng)集成的應(yīng)用系統(tǒng)。 SM1000非常適合于獨立多軸的馬達控制場合,同時結(jié)合控制軟件也可以非常靈活地實現(xiàn)常見的加減速運動控制,甚至多軸聯(lián)動控制。 以下是SM1000系列芯片技術(shù)特點和應(yīng)用介紹。 一、SM1000芯片方案的技術(shù)指標(biāo)  輸入時鐘CLK頻率最高到78MHz。  1-4道32位計數(shù)器,可達計數(shù)范圍為:1~ 2147483647。  1-4道32位直接脈沖分頻器,可設(shè)置頻率系數(shù)范圍為:1~ 2147483647。  1-4道正/反向脈沖輸出,可接成差分輸出。  1-4道正/反向脈沖輸出有效指示,可接成差分輸出。  最高輸出脈沖頻率為:CLK/64(SM1001不同)  其他功能:  內(nèi)置3-8譯碼器,輸出7個附加片選信號;  8通用輸入+8通用輸出;  可接8X8矩陣鍵盤,直接讀取按鍵編碼/有效值;  8位數(shù)據(jù)接口(內(nèi)置地址鎖存,可以直接接MCS51 CPU)。 二、SM1000系列規(guī)格 三、SM1000功能框圖 四、功能引腳介紹 五、應(yīng)用方向舉例  步進馬達控制器  輕紡設(shè)備:縫紉機/繡花機等  機器手/臂  空間座標(biāo)測量/定位系統(tǒng)  經(jīng)濟型通用運動控制器  鉆孔、銑邊設(shè)備  其他 六、編程應(yīng)用介紹 A、CPU接口 該芯片采用通用8051 8位地址/數(shù)據(jù)復(fù)用接口。由于芯片內(nèi)內(nèi)置了地址鎖存器,因此,可以直接與8051單片機地址/數(shù)據(jù)總線相連,而不需要通過地址鎖存器分離出地址和數(shù)據(jù)總線。另外,該芯片內(nèi)置了一個3-8譯碼器,可以輸出7個片選信號,以共用戶擴展地址譯碼用。這樣,極大地方便了用戶基于8051單片機的應(yīng)用系統(tǒng)設(shè)計。整個接口只需要14根線。包括:  8根地址/數(shù)據(jù)總線:AD0~7  3根片選線:CS1~3  1根地址鎖存允許線:ALE  1根讀允許線:RD_n  1根寫允許線:WR_n 輸出7根片選線,地址劃分見《表二:地址分配表》。 B、地址分配 C、CPU讀/寫操作 讀寫脈沖計數(shù)器: 脈沖計數(shù)器的值可以用命令直接寫,但要讀出時,就必須先用鎖存脈沖計數(shù)器值命令,先鎖存起來,再用命令直接讀;如下所示。 寫脈沖計數(shù)器操作格式: a、(*地址)= 數(shù)據(jù) ; 其中:地址=基地址+0+nn*16+mm; nn=(0~3)為通道號,mm=(0~3)為字節(jié)地址; 數(shù)據(jù)為8bit字節(jié)數(shù)據(jù)。 讀脈沖計數(shù)器操作格式: a、(*鎖存地址)= 任意數(shù)據(jù); b、變量=(*讀地址); 其中:鎖存地址=基地址+10+nn*16; nn=(0~3)為通道號,10為鎖存脈沖計數(shù)器地址; 鎖存命令的數(shù)據(jù)為8bit字節(jié)任意數(shù)據(jù),其值無意義。 讀地址=基地址+0+mm; mm=(0~3)為字節(jié)地址; 注意:脈沖計數(shù)器長度為32位,允許全范圍設(shè)置:0x00000000~0xFFFFFFFF。實際輸出脈沖個數(shù)由下面公式給出: 脈沖個數(shù)=(脈沖計數(shù)器值+1)/2; 當(dāng)脈沖計數(shù)器值為最大值0xFFFFFFFF時,允許最大脈沖個數(shù)為2147483648。 當(dāng)脈沖計數(shù)器值為最小值0x00000001時,允許最小脈沖個數(shù)為1。 其中,脈沖計數(shù)器值應(yīng)該為奇數(shù),如為偶數(shù),則最后一個脈沖寬度很窄。輸出脈沖為對應(yīng)頻率的方波。 寫脈沖頻率數(shù)據(jù): 寫脈沖頻率數(shù)據(jù)操作格式: a、(*地址)= 數(shù)據(jù) ; 其中:地址=基地址+4+nn*16+mm; nn=(0~3)為通道號,mm=(0~3)為字節(jié)地址; 數(shù)據(jù)為8bit字節(jié)數(shù)據(jù)。 32位情況:脈沖頻率值長度為32位,允許設(shè)置范圍為:0x00000001~0xFFFFFFFF。實際輸出脈沖頻率由下面公式給出: 當(dāng)脈沖頻率值<0x00800000 時: 脈沖頻率=(輸入時鐘頻率/2^28)*脈沖頻率值; 當(dāng)脈沖頻率值≥0x00800000 時: 脈沖頻率=(輸入時鐘頻率/(2^36+2^28)*脈沖頻率值。 24位情況:脈沖頻率值長度為24位,允許設(shè)置范圍為:0x000001~0xFFFFFF。實際輸出脈沖頻率由下面公式給出: 當(dāng)脈沖頻率值<0x00400000 時: 脈沖頻率=(輸入時鐘頻率/2^25)*脈沖頻率值; 當(dāng)脈沖頻率值≥0x00400000 時: 脈沖頻率=(輸入時鐘頻率/(2^33+2^25)*脈沖頻率值。 啟動脈沖通道工作: 啟動脈沖通道工作操作格式: a、(*地址)= 數(shù)據(jù) ; 其中:地址=基地址+8; 數(shù)據(jù)為8bit字節(jié),作為允許啟動標(biāo)志,定義為: D0----為1時,允許通道1啟動,為0時不啟動; D1----為1時,允許通道2啟動,為0時不啟動; D2----為1時,允許通道3啟動,為0時不啟動; D3----為1時,允許通道4啟動,為0時不啟動。 停止脈沖通道工作: 停止脈沖通道工作操作格式: a、(*地址)= 數(shù)據(jù) ; 其中:地址=基地址+9; 數(shù)據(jù)為8bit字節(jié),作為允許停止標(biāo)志,定義為: D0----為1時,允許通道1停止,為0時不停止; D1----為1時,允許通道2停止,為0時不停止; D2----為1時,允許通道3停止,為0時不停止; D3----為1時,允許通道4停止,為0時不停止。 回讀數(shù)據(jù)鎖存: CPU要讀相應(yīng)功能的數(shù)據(jù),就必須先鎖存其數(shù)據(jù),才能讀;否則,只能讀取上次鎖存的數(shù)據(jù)。共有下面三種功能數(shù)據(jù):  脈沖計數(shù)器值:32bit;  通用輸入口值:8bit;  按鍵編碼值:7bit; CPU讀數(shù)據(jù)是按8 bit字節(jié)讀方式進行的,32 bit脈沖計數(shù)器值需要讀4次,可按0~3任意順序讀取。8 bit值只能從地址0讀取。格式為: a、(*鎖存地址)= 任意數(shù)據(jù); b、變量=(*讀地址); 其中:鎖存地址和讀地址,可參見地址分配表一。 8/8位通用輸入/輸出口: 該芯片包含8位通用輸入口和8位通用輸出口。 8位通用輸入口讀命令為: a、(*鎖存地址)= 任意數(shù)據(jù); b、變量=(*讀地址); 其中:鎖存地址=基地址+12; 讀地址 =基地址+0;(所有讀地址相同) 8位通用輸出口寫命令為: a、(*寫地址)= 數(shù)據(jù); 其中:寫地址=基地址+11; 寫數(shù)據(jù)為8位字節(jié)數(shù)據(jù)。 8X8鍵盤接口: 該芯片支持8X8矩陣鍵盤,自動掃描鍵盤,識別按鍵鍵碼,CPU通過接口可讀取當(dāng)前按鍵編碼值。命令如下: a、(*鎖存地址)= 任意數(shù)據(jù); b、變量=(*讀地址); 其中:鎖存地址=基地址+28; 讀地址 =基地址+0;(所有讀地址相同) 按鍵編碼格式: 標(biāo)志位:為1表示有鍵正按下,為0表示沒有按鍵; X:忽略; 回讀碼:取0~7為當(dāng)前按鍵所對應(yīng)的行(或列)編碼,特指輸入線(KBC_0~7); 掃描碼:取0~7為當(dāng)前按鍵所對應(yīng)的列(或行)編碼;特指輸出線(KBS_0~7); 七、編程示例 //A、地址常量定義:(設(shè)芯片基地址為0xe000) #define MC_sys_CLK 32000000 //定義芯片工作頻率 #define MC_CNT_WR_Base_Addr (volatile unsigned char *) 0xe000 //定義計數(shù)器值寫基地址 #define MC_CNT_Latch_WR_Base_Addr (volatile unsigned char *) 0xe00A //定義計數(shù)器鎖存寫基地址 #define MC_FRQ_WR_Base_Addr (volatile unsigned char *) 0xe004 //定義頻率值寫基地址 #define MC_Startup_WR_Base_Addr (volatile unsigned char *) 0xe008 //定義啟動寫基地址 #define MC_Stop_WR_Base_Addr (volatile unsigned char *) 0xe009 //定義停止寫基地址 #define MC_GPOut_WR_Base_Addr (volatile unsigned char *) 0xe00B //定義通用輸出值寫基地址 #define MC_GPIn_Latch_WR_Base_Addr (volatile unsigned char *) 0xe00C //定義通用輸入值鎖存寫基地址 #define MC_KB_Latch_WR_Base_Addr (volatile unsigned char *) 0xe01C //定義鍵盤編碼值鎖存寫基地址 #define MC_ RD_Base_Addr (volatile unsigned char *) 0xe000 //定義回讀值讀基地址 //B、子程序片: //0、延遲子程序:芯片讀/寫命令間要求有一定的定時間隔。 void delay(int n) { int i; for( i = 0; i> 0) & 0x0ff);delay(10); MC_CNT_WR_Base_Addr[n*16+1] = (char)((cnt>> 8) & 0x0ff); delay(10); MC_CNT_WR_Base_Addr[n*16+2] = (char)((cnt>>16) & 0x0ff); delay(10); MC_CNT_WR_Base_Addr[n*16+3] = (char)((cnt>>24) & 0x0ff); //2、讀第n通道脈沖數(shù)值 MC_CNT_Latch_WR_Base_Addr [n*16+0] = (char)0; delay(10); //鎖存第n通道脈沖數(shù)值 Cnt = MC_ RD_Base_Addr [0]; delay(10); //回讀數(shù)據(jù)0字節(jié) Cnt |= MC_ RD_Base_Addr [1]<<8; delay(10); //回讀數(shù)據(jù)1字節(jié) Cnt |= MC_ RD_Base_Addr [2]<<16; delay(10); //回讀數(shù)據(jù)2字節(jié) Cnt |= MC_ RD_Base_Addr [3]<<24; //回讀數(shù)據(jù)3字節(jié) if( Cnt ==0xffffffff) { //第n通道脈沖輸出完處理 } //3、寫第n通道脈沖頻率值 Nfrq= frq_pulse*0x10000000/MC_sys_CLK; //注意整數(shù)運算溢出問題 MC_FRQ_WR_Base_Addr [n*16+0] = (char)((Nfrq>> 0) & 0x0ff); delay(10); MC_FRQ_WR_Base_Addr [n*16+1] = (char)((Nfrq>> 8) & 0x0ff); delay(10); MC_FRQ_WR_Base_Addr [n*16+2] = (char)((Nfrq>>16) & 0x0ff); delay(10); MC_FRQ_WR_Base_Addr [n*16+3] = (char)((Nfrq>>24) & 0x0ff); //4、啟動多個通道脈沖工作 MC_Startup_WR_Base_Addr[0] = (F0 & 1) | ((F1<<1)&2) | ((F2<<2)&4 | ((F3<<3)&8) ; //5、停止多個通道脈沖工作 MC_Stop_WR_Base_Addr[0] = (F0 & 1) | ((F1<<1)&2) | ((F2<<2)&4 | ((F3<<3)&8) ; //6、8位通用輸出口輸出 MC_GPOut_WR_Base_Addr [0] = (char)(GPOut &0x0ff) ; //7、8位通用輸入口輸入 MC_GPIn_Latch_WR_Base_Addr [0] = (char)0; delay(10); //鎖存通用輸入口值 GPIn_V = MC_ RD_Base_Addr [0] ; //8、7位鍵盤按鍵編碼輸入 MC_KB_Latch_WR_Base_Addr [0] = (char)0; delay(10); //鎖存按鍵編碼值 KBCode = MC_ RD_Base_Addr [0] ; if(KBCode & 0x80) { //當(dāng)前有按鍵按下處理 } 八、基于SM1000的運動控制系統(tǒng)框圖 在上述的方案里,除了1-4軸運動控制本身之外,在板上根本不需要譯碼器、鎖存器之類的芯片,按鍵掃描電路也節(jié)省了不少MCU帶寬開銷,數(shù)字量通用輸出/輸入也增加了系統(tǒng)的控制方便性。 英文標(biāo)題:: The Simple Motion-Control IC Solution Based on SOPC 參考文獻: 無 作者簡介: 於鳳兵 男, 資深工程師 從事集成電路技術(shù)及業(yè)務(wù)多年,現(xiàn)任深圳市斯邁迪科技發(fā)展有限公司總經(jīng)理。 胡軍艦 男, 資深高級工程師 從事集成電路技術(shù)及信號處理技術(shù)多年,現(xiàn)任深圳市斯邁迪科技發(fā)展有限公司技術(shù)總監(jiān)。 聯(lián)系方式: 深圳市南山區(qū)科技園科豐路8號金達科技中心601 電話: 0755-26506310

標(biāo)簽:

點贊

分享到:

上一篇:電液伺服閥自動測試方法的研究

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號