日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

現(xiàn)在的運(yùn)動(dòng)控制器已經(jīng)發(fā)展到了以專用芯片(ASIC)或FPGA作為核心處理部件的開放式運(yùn)動(dòng)控制器。這樣的解決方案突出的特點(diǎn),是讓運(yùn)動(dòng)控制的處理部分以獨(dú)立的、硬件性方式展開,增加系統(tǒng)的性能和可靠性,從而有效地解決了以單純的MCU或DSP系統(tǒng)的處理帶寬限制,以及用戶系統(tǒng)軟件和運(yùn)動(dòng)控制軟件混雜性的問(wèn)題。

業(yè)界也早已出現(xiàn)了各種類型的運(yùn)動(dòng)控制專用芯片,雖然有較高的功能、性能,但一般都比較復(fù)雜,使得客戶應(yīng)用起來(lái)非常困難。

用戶們常常需要一種容易使用的運(yùn)動(dòng)控制芯片與通用MCU/CPU結(jié)合起來(lái)的系統(tǒng)方案,用以面向更一般性的或中低端的應(yīng)用場(chǎng)合。這樣的方案里,運(yùn)動(dòng)控制芯片部分可以擔(dān)當(dāng)關(guān)鍵的馬達(dá)控制信號(hào)發(fā)生功能,又可以擁有較高的性能和其他的系統(tǒng)性接口資源(若是利用8253/8254之類的計(jì)數(shù)器,就顯得捉襟見肘,計(jì)數(shù)長(zhǎng)度太短,且沒(méi)有其他資源);而在MCU/CPU部分可以通過(guò)一些簡(jiǎn)單的控制指令完成對(duì)馬達(dá)運(yùn)動(dòng)的控制,更多的資源用來(lái)處理系統(tǒng)界面或應(yīng)用軟件。

簡(jiǎn)單而言,就是需要一個(gè)方案有效地協(xié)調(diào)了運(yùn)動(dòng)控制系統(tǒng)的軟硬件的分工,軟件部分方便客戶開發(fā),硬件部分確保系統(tǒng)性能。

深圳市斯邁迪科技發(fā)展有限公司(Smarteer)推出的SM1000系列SOPC運(yùn)動(dòng)控制芯片就是上述需求的解決方案。它是在高性能系列運(yùn)動(dòng)控制FPGA/芯片—SM5000方案后,經(jīng)過(guò)不斷的技術(shù)積累和市場(chǎng)調(diào)查后,特地為中低端市場(chǎng)應(yīng)用推出的。

SM1000是一個(gè)簡(jiǎn)易的運(yùn)動(dòng)控制芯片系列,它提供長(zhǎng)達(dá)32位的可編程計(jì)數(shù)和脈沖發(fā)生的功能,脈沖頻率可以高達(dá)10M赫茲以上,同時(shí)在芯片內(nèi)部增加了許多系統(tǒng)性的資源,比如:內(nèi)置3-8譯碼器、地址鎖存器、矩陣鍵盤掃描接口和通用I/O等。由于芯片是SOPC技術(shù)方案,因此還可以根據(jù)客戶的具體需求做定向化的設(shè)計(jì)。

SM1000簡(jiǎn)易而又方便于客戶應(yīng)用,它面向更廣泛、更一般的運(yùn)動(dòng)控制應(yīng)用領(lǐng)域。利用它結(jié)合MCU/CPU可以便捷地組建成一個(gè)運(yùn)動(dòng)控制系統(tǒng),尤其是一些嵌入式、系統(tǒng)集成的應(yīng)用系統(tǒng)。

SM1000非常適合于獨(dú)立多軸的馬達(dá)控制場(chǎng)合,同時(shí)結(jié)合控制軟件也可以非常靈活地實(shí)現(xiàn)常見的加減速運(yùn)動(dòng)控制,甚至多軸聯(lián)動(dòng)控制。

以下是SM1000系列芯片技術(shù)特點(diǎn)和應(yīng)用介紹。

一、SM1000芯片方案的技術(shù)指標(biāo)

⑴ 輸入時(shí)鐘CLK頻率最高到78MHz;

⑵ 1-4路32位計(jì)數(shù)器,可達(dá)計(jì)數(shù)范圍為:1~ 2,147,483,6?7;

⑶ 1-4路32位直接脈沖分頻器,可設(shè)置頻率系數(shù)范圍為:1~ 2,147,483,6?7;

⑷ 1-4路正/反向脈沖輸出,可接成差分輸出;

⑸ 1-4路正/反向脈沖輸出有效指示,可接成差分輸出;

⑹ 最高輸出脈沖頻率為:CLK/6?(SM1001不同);

⑺ 其他功能:

a) 內(nèi)置3-8譯碼器,輸出7個(gè)附加片選信號(hào);

b) 8通用輸入+8通用輸出;

c) 可接8x8矩陣鍵盤,直接讀取按鍵編碼/有效值;

d) 8位數(shù)據(jù)接口(內(nèi)置地址鎖存,可以直接接MCS51 CPU)。

二、SM1000系列規(guī)格

三、SM1000功能框圖

1. 復(fù)位

2. 鎖存

3. 總線

4. 2-4路計(jì)數(shù)器

5. 2-4路32位脈沖分頻器

6. GPIO

7. 3-8譯碼器

8. 8x8矩陣鍵盤

四、功能引腳介紹

五、應(yīng)用方向舉例

1. 步進(jìn)馬達(dá)控制器

2. 輕紡設(shè)備:縫紉機(jī)/繡花機(jī)等

3. 機(jī)器手/臂

4. 空間座標(biāo)測(cè)量/定位系統(tǒng)

5. 經(jīng)濟(jì)型通用運(yùn)動(dòng)控制器

6. 鉆孔、銑邊設(shè)備

7. 其他

六、編程應(yīng)用介紹

A、CPU接口

該芯片采用通用8051 8位地址/數(shù)據(jù)復(fù)用接口。由于芯片內(nèi)置了地址鎖存器,因此可以直接與8051單片機(jī)地址/數(shù)據(jù)總線相連,而不需要通過(guò)地址鎖存器分離出地址和數(shù)據(jù)總線。另外,該芯片內(nèi)置了一個(gè)3-8譯碼器,可以輸出7個(gè)片選信號(hào),以供用戶擴(kuò)展地址譯碼用。這樣,極大地方便了用戶基于8051單片機(jī)的應(yīng)用系統(tǒng)設(shè)計(jì)。整個(gè)接口只需要14根線。包括:

a) 8根地址/數(shù)據(jù)總線:AD0~7

b) 3根片選線:CS1~3

c) 1根地址鎖存允許線:ALE

d) 1根讀允許線:RD_n

e) 1根寫允許線:WR_n

輸出7根片選線,地址劃分見地址分配表。

B、地址分配

C、CPU讀/寫操作

讀寫脈沖計(jì)數(shù)器:

脈沖計(jì)數(shù)器的值可以用命令直接寫,但要讀出時(shí),就必須先用鎖存脈沖計(jì)數(shù)器值命令,先鎖存起來(lái),再用命令直接讀;如下所示。

寫脈沖計(jì)數(shù)器操作格式:

a、(*地址)= 數(shù)據(jù) ;

其中:地址=基地址+0+nn*16+mm; nn=(0~3)為通道號(hào),mm=(0~3)為字節(jié)地址;

數(shù)據(jù)為8位字節(jié)數(shù)據(jù)。

讀脈沖計(jì)數(shù)器操作格式:

a、(*鎖存地址)= 任意數(shù)據(jù);

b、變量=(*讀地址);

其中:鎖存地址=基地址+10+nn*16; nn=(0~3)為通道號(hào),10為鎖存脈沖計(jì)數(shù)器地址;

鎖存命令的數(shù)據(jù)為8位字節(jié)任意數(shù)據(jù),其值無(wú)意義。

讀地址=基地址+0+mm; mm=(0~3)為字節(jié)地址;

注意:脈沖計(jì)數(shù)器長(zhǎng)度為32位,允許全范圍設(shè)置:0x00000000~0xFFFFFFFF。實(shí)際輸出脈沖個(gè)數(shù)由下面公式給出:

脈沖個(gè)數(shù)=(脈沖計(jì)數(shù)器值+1)/2;

當(dāng)脈沖計(jì)數(shù)器值為最大值0xFFFFFFFF時(shí),允許最大脈沖個(gè)數(shù)為2,147,483,6?8。

當(dāng)脈沖計(jì)數(shù)器值為最小值0x00000001時(shí),允許最小脈沖個(gè)數(shù)為1。

其中,脈沖計(jì)數(shù)器值應(yīng)該為奇數(shù),如為偶數(shù),則最后一個(gè)脈沖寬度很窄。輸出脈沖為對(duì)應(yīng)頻率的方波。

寫脈沖頻率數(shù)據(jù):

寫脈沖頻率數(shù)據(jù)操作格式:

a、(*地址)= 數(shù)據(jù) ;

其中:地址=基地址+4+nn*16+mm; nn=(0~3)為通道號(hào),mm=(0~3)為字節(jié)地址;

數(shù)據(jù)為8位字節(jié)數(shù)據(jù)。

32位情況:脈沖頻率值長(zhǎng)度為32位,允許設(shè)置范圍為:0x00000001~0xFFFFFFFF。實(shí)際輸出脈沖頻率由下面公式給出:

當(dāng)脈沖頻率值<0x00800000 時(shí):

脈沖頻率=(輸入時(shí)鐘頻率/228)*脈沖頻率值;

當(dāng)脈沖頻率值≥0x00800000 時(shí):

脈沖頻率=(輸入時(shí)鐘頻率/(236+228)*脈沖頻率值。

24位情況:脈沖頻率值長(zhǎng)度為24位,允許設(shè)置范圍為:0x000001~0xFFFFFF。實(shí)際輸出脈沖頻率由下面公式給出:

當(dāng)脈沖頻率值<0x00400000 時(shí):

脈沖頻率=(輸入時(shí)鐘頻率/225)*脈沖頻率值;

當(dāng)脈沖頻率值≥0x00400000 時(shí):

脈沖頻率=(輸入時(shí)鐘頻率/(233+225)*脈沖頻率值。

啟動(dòng)脈沖通道工作:

啟動(dòng)脈沖通道工作操作格式:

a、(*地址)= 數(shù)據(jù) ;

其中:地址=基地址+8;

數(shù)據(jù)為8bit字節(jié),作為允許啟動(dòng)標(biāo)志,定義為:

D0----為1時(shí),允許通道1啟動(dòng),為0時(shí)不啟動(dòng);

D1----為1時(shí),允許通道2啟動(dòng),為0時(shí)不啟動(dòng);

D2----為1時(shí),允許通道3啟動(dòng),為0時(shí)不啟動(dòng);

D3----為1時(shí),允許通道4啟動(dòng),為0時(shí)不啟動(dòng)。

停止脈沖通道工作:

停止脈沖通道工作操作格式:

a、(*地址)= 數(shù)據(jù) ;

其中:地址=基地址+9;

數(shù)據(jù)為8bit字節(jié),作為允許停止標(biāo)志,定義為:

D0----為1時(shí),允許通道1停止,為0時(shí)不停止;

D1----為1時(shí),允許通道2停止,為0時(shí)不停止;

D2----為1時(shí),允許通道3停止,為0時(shí)不停止;

D3----為1時(shí),允許通道4停止,為0時(shí)不停止。

回讀數(shù)據(jù)鎖存:

CPU要讀相應(yīng)功能的數(shù)據(jù),就必須先鎖存其數(shù)據(jù),才能讀;否則,只能讀取上次鎖存的數(shù)據(jù)。共有下面三種功能數(shù)據(jù):

1. 脈沖計(jì)數(shù)器值:32bit;

2. 通用輸入口值:8bit;

3. 按鍵編碼值: 7bit;

CPU讀數(shù)據(jù)是按8 bit字節(jié)讀方式進(jìn)行的,32 bit脈沖計(jì)數(shù)器值需要讀4次,可按0~3任意順序讀取。8 bit值只能從地址0讀取。格式為:

a、(*鎖存地址)= 任意數(shù)據(jù);

b、變量=(*讀地址);

其中:鎖存地址和讀地址,可參見地址分配表3。

8/8位通用輸入/輸出口:

該芯片包含8位通用輸入口和8位通用輸出口。

8位通用輸入口讀命令為:

a、(*鎖存地址)=任意數(shù)據(jù);

b、變量=(*讀地址);

其中:鎖存地址=基地址+12;

讀地址=基地址+0;(所有讀地址相同)

8位通用輸出口寫命令為:

a、(*寫地址)= 數(shù)據(jù);

其中:寫地址=基地址+11;

寫數(shù)據(jù)為8位字節(jié)數(shù)據(jù)。

8x8鍵盤接口:

該芯片支持8X8矩陣鍵盤,自動(dòng)掃描鍵盤,識(shí)別按鍵鍵碼,CPU通過(guò)接口可讀取當(dāng)前按鍵編碼值。命令如下:

a、(*鎖存地址)=任意數(shù)據(jù);

b、變量=(*讀地址);

其中:鎖存地址=基地址+28;

讀地址=基地址+0;(所有讀地址相同)

按鍵編碼格式:

標(biāo)志位:為1表示有鍵正按下,為0表示沒(méi)有按鍵;

X:忽略;

回讀碼:取0~7為當(dāng)前按鍵所對(duì)應(yīng)的行(或列)編碼,特指輸入線(KBC_0~7);

掃描碼:取0~7為當(dāng)前按鍵所對(duì)應(yīng)的列(或行)編碼;特指輸出線(KBS_0~7);

七、編程示例

//A、地址常量定義:(設(shè)芯片基地址為0xe000)

#define MC_sys_CLK 32000000 //定義芯片工作頻率

#define MC_CNT_WR_Base_Addr (volatile unsigned char *) 0xe000 //定義計(jì)數(shù)器值寫基地址

#define MC_CNT_Latch_WR_Base_Addr (volatile unsigned char *) 0xe00A //定義計(jì)數(shù)器鎖存寫基地址

#define MC_FRQ_WR_Base_Addr (volatile unsigned char *) 0xe004 //定義頻率值寫基地址

#define MC_Startup_WR_Base_Addr (volatile unsigned char *) 0xe008 //定義啟動(dòng)寫基地址

#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、延遲子程序:芯片讀/寫命令間要求有一定的定時(shí)間隔。

void delay(int n)

{ int i;

for( i = 0; i

}

//1、寫第n通道脈沖數(shù)值(必須為奇數(shù))

cnt = Np*2-1;

MC_CNT_WR_Base_Addr[n*16+0] = (char)((cnt>> 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ù)運(yùn)算溢出問(wèn)題

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、啟動(dòng)多個(gè)通道脈沖工作

MC_Startup_WR_Base_Addr[0] = (F0 & 1) | ((F1<<1)&2) | ((F2<<2)&4 | ((F3<<3)&8) ;

//5、停止多個(gè)通道脈沖工作

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的運(yùn)動(dòng)控制系統(tǒng)框圖

除了軸運(yùn)動(dòng)控制本身之外,在板上根本不需要譯碼器、鎖存器之類的芯片,按鍵掃描電路也節(jié)省了不少M(fèi)CU帶寬開銷,數(shù)字量通用輸出/輸入也增加了系統(tǒng)的控制方便性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

近日,一則關(guān)于 AI 算力領(lǐng)域的消息引發(fā)行業(yè)震動(dòng)!據(jù)科技網(wǎng)站 The Information 援引四位知情人士爆料,中國(guó)科技巨頭阿里巴巴與百度已正式將自研芯片應(yīng)用于 AI 大模型訓(xùn)練,打破了此前對(duì)英偉達(dá)芯片的單一依賴。

關(guān)鍵字: AI 算力 阿里 百度 芯片 AI模型

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛

9月1日消息,繼小鵬、零跑后,現(xiàn)在小米汽車也宣布了8月的交付量。

關(guān)鍵字: 小米汽車 芯片

當(dāng)?shù)貢r(shí)間 8 月 22 日,美國(guó)芯片制造商英特爾公司宣布與美國(guó)聯(lián)邦政府達(dá)成協(xié)議,后者將向英特爾普通股投資 89 億美元,以每股 20.47 美元的價(jià)格收購(gòu) 4.333 億股英特爾普通股,相當(dāng)于該公司 9.9% 的股份。

關(guān)鍵字: 英特爾 半導(dǎo)體 芯片

在當(dāng)今數(shù)字化時(shí)代,人工智能(AI)和高性能計(jì)算(HPC)的迅猛發(fā)展對(duì) GPU 芯片的性能提出了極高要求。隨著 GPU 計(jì)算密度和功耗的不斷攀升,散熱問(wèn)題成為了制約其性能發(fā)揮的關(guān)鍵因素。傳統(tǒng)的風(fēng)冷方案已難以滿足日益增長(zhǎng)的散...

關(guān)鍵字: 人工智能 高性能計(jì)算 芯片

8月20日消息,博主數(shù)碼閑聊站暗示,9月底大概率只有小米16系列會(huì)亮相,其它驍龍8 Elite 2旗艦、天璣9500旗艦新品都將排到10月份,新機(jī)大亂斗會(huì)在國(guó)慶假期之后開始。

關(guān)鍵字: 小米雷軍 芯片

8月21日消息,據(jù)媒體報(bào)道,英偉達(dá)宣布將自研基于3nm工藝的HBM內(nèi)存Base Die,預(yù)計(jì)于2027年下半年進(jìn)入小規(guī)模試產(chǎn)階段,此舉旨在彌補(bǔ)其在HBM領(lǐng)域的技術(shù)與生態(tài)短板。

關(guān)鍵字: 英偉達(dá) 黃仁勛 芯片 顯卡

繼尋求收購(gòu)英特爾10%的股份之后,近日又有消息稱,特朗普政府正在考慮通過(guò)《芯片法案》資金置換股權(quán)的方式,強(qiáng)行收購(gòu)美光、三星、臺(tái)積電三大芯片巨頭的股份。若此舉落地,美國(guó)政府將從“政策扶持者”蛻變?yōu)椤爸苯庸蓶|”,徹底重塑全球...

關(guān)鍵字: 芯片 半導(dǎo)體

在集成電路設(shè)計(jì)流程中,網(wǎng)表作為連接邏輯設(shè)計(jì)與物理實(shí)現(xiàn)的關(guān)鍵橋梁,其分模塊面積統(tǒng)計(jì)對(duì)于芯片性能優(yōu)化、成本控制和資源分配具有重要意義。本文將詳細(xì)介紹如何利用 Python 實(shí)現(xiàn)網(wǎng)表分模塊統(tǒng)計(jì)面積的功能,從網(wǎng)表數(shù)據(jù)解析到面積計(jì)...

關(guān)鍵字: 網(wǎng)表 芯片 分模塊

8月19日消息,封禁4個(gè)多月的H20為何突然又被允許對(duì)華銷售,這其實(shí)是美國(guó)設(shè)計(jì)好的。

關(guān)鍵字: 英偉達(dá) 黃仁勛 芯片 顯卡
關(guān)閉