前面的文章有介紹過ARM內(nèi)核的幾款單片機(jī)(或MCU,或MPU),現(xiàn)在在嵌入式領(lǐng)域,早期的各種小眾的內(nèi)核基本上被淘汰,或者主導(dǎo)的公司放棄掉了,現(xiàn)在主流還是ARM,且RISC-V也在逐步增長(zhǎng)。如果現(xiàn)在計(jì)劃學(xué)習(xí)和熟悉嵌入式系統(tǒng),那么選擇ARM和RISC-V的主控芯片開始是比較合適的。而對(duì)單片機(jī)(或MCU,或MPU)掌握并通過項(xiàng)目實(shí)踐精通了之后,如果實(shí)際項(xiàng)目用到其他內(nèi)核的芯片的選型和開發(fā),切換起來也是很快速的。
其實(shí)在ARM和RISC-V之前,嵌入式(或者說是單片機(jī))開發(fā),以前是51內(nèi)核的芯片最流行,現(xiàn)在有些學(xué)校教材或者項(xiàng)目可能還是51內(nèi)核的。51內(nèi)核單片機(jī)以8位微處理器為主,在計(jì)算執(zhí)行比較簡(jiǎn)單的應(yīng)用中,能夠?qū)⒊杀咀龅椒浅5土?,所以市?chǎng)上有些產(chǎn)品甚至是維護(hù)中的項(xiàng)目,還是有些是51內(nèi)核單片機(jī)的。
所以不論是單片機(jī)、或MCU、或MPU,還是CPU,其核心就是計(jì)算機(jī)系統(tǒng)的計(jì)算執(zhí)行單元,不同的名稱有的是因?yàn)闀r(shí)代發(fā)展演進(jìn)出來的名字,有的是表示其計(jì)算處理的能力一種簡(jiǎn)單劃分,但是并沒有完全能夠明確的界限,更多的時(shí)候是在用于做比較的語境下。除了計(jì)算處理能力的不同,另外就是芯片設(shè)計(jì)和制造的復(fù)雜程度不同,有的電路比較少,有的則是非常復(fù)雜,需要采用的工藝也需要最尖端才行。
本文以回顧的視角,從開發(fā)的角度對(duì)一片之前實(shí)際用來做過項(xiàng)目開發(fā)的51內(nèi)核的單片機(jī)進(jìn)行介紹,對(duì)于熟悉的是一種回顧,對(duì)于沒了解過的,可以當(dāng)做是以往開發(fā)的故事來看。
本文目錄
Contents
1
關(guān)于C8051F320
2
C8051F320的時(shí)鐘工作機(jī)制
01
關(guān)于C8051F320
C8051F320微控制器(MCU)具有板載通用串行總線(usb2.0)功能控制器,集成收發(fā)器和片上時(shí)鐘恢復(fù)。USB應(yīng)用不需要外部電阻、晶體、穩(wěn)壓器、EEPROM或其他組件。該MCU包括一個(gè)功能強(qiáng)大的8051核心,具有25mhz的性能,以及16 kB Flash和2.25 kB RAM。片上包括10位、200 ksps ADC,±1.5內(nèi)部振蕩器,2個(gè)比較器,和一個(gè)溫度傳感器。在7x7毫米的QFP32中集成了額外的通信接口和豐富的模擬功能。
0****2
C8051F320的時(shí)鐘工作機(jī)制
時(shí)鐘是MCU的心臟,C8051F320是帶有內(nèi)置時(shí)鐘的,可以不用外接晶振電路就可以驅(qū)動(dòng)MCU工作。C8051F320的許多功能都是與時(shí)鐘相關(guān)的,像有時(shí)序要求的通信:串口,SPI等,以及定時(shí)器等。我在電路設(shè)計(jì)時(shí)就考慮用內(nèi)部時(shí)鐘的,因此沒有設(shè)計(jì)外部時(shí)鐘電路,下面也會(huì)重點(diǎn)記錄內(nèi)部時(shí)鐘的使用。
C8051F320的時(shí)鐘:可編程內(nèi)部時(shí)鐘+外部晶振驅(qū)動(dòng)電路+4倍時(shí)鐘乘法器。C8051F320的時(shí)鐘分為系統(tǒng)時(shí)鐘SYSCLK和USB時(shí)鐘USBCLK。
可編程內(nèi)部時(shí)鐘:這是系統(tǒng)復(fù)位后的默認(rèn)時(shí)鐘,通過OSCICL寄存器編程。
f_BASE是復(fù)位后的內(nèi)部時(shí)鐘,C8051F320是12MHz,deta_T是時(shí)鐘周期。系統(tǒng)時(shí)鐘可以由內(nèi)部時(shí)鐘1分頻/2分頻/4分頻/8分頻,具體的分頻設(shè)置在OSCICN寄存器的IFCN位,系統(tǒng)復(fù)位后默認(rèn)使用的是8分頻。
OSCICL復(fù)位值會(huì)使內(nèi)部時(shí)鐘頻率為12MHz(12MHz適用于USB通信),而系統(tǒng)時(shí)鐘復(fù)位后默認(rèn)是對(duì)內(nèi)部時(shí)鐘進(jìn)行8分頻,即1.5MHz??梢酝ㄟ^軟件修改內(nèi)部時(shí)鐘值,但修改后就不適合用于USB通信了。
內(nèi)部時(shí)鐘有掛起模式,當(dāng)往OSCICN的SUSPEND位寫1后內(nèi)部時(shí)鐘就掛起了。
外部時(shí)鐘驅(qū)動(dòng)電路:可以是外部晶振,陶瓷諧振器,電容或RC網(wǎng)絡(luò)。CMOS時(shí)鐘也可以提供時(shí)鐘輸入。使用外部時(shí)鐘時(shí)需要配置對(duì)應(yīng)的端口引腳的功能。
4倍時(shí)鐘乘法器:由名字可知,能將12MHz的時(shí)鐘乘以4倍變成48MHz,這個(gè)時(shí)鐘是用于全速USB通信的。當(dāng)然對(duì)這個(gè)乘以4倍的時(shí)鐘分頻后也可以為系統(tǒng)提供時(shí)鐘的。4倍時(shí)鐘乘法器的配置要通過CLKMUL寄存器。如果用外部時(shí)鐘作為4倍時(shí)鐘乘法器的源,則要保證外部時(shí)鐘足夠穩(wěn)定。
系統(tǒng)時(shí)鐘和USB時(shí)鐘的選擇:配置CLKSEL寄存器的CKLSL[1:0]位決定了使用哪個(gè)時(shí)鐘源作為系統(tǒng)時(shí)鐘。配置CLKSEL寄存器的USBCLK[2:0]位決定了使用哪個(gè)時(shí)鐘源作為USB時(shí)鐘(USB0工作于全速模式時(shí)需要48MHz時(shí)鐘,工作于低速模式時(shí)需要6MHz時(shí)鐘)。
在了解了C8051F320的基本功能和配置,知道了其時(shí)鐘如何工作后,其實(shí)就可以設(shè)計(jì)制作C8051F320的最小系統(tǒng)了,最小系統(tǒng)的PCB設(shè)計(jì)制作出來后,燒錄簡(jiǎn)單基本的固件后,芯片就能初始化并運(yùn)行程序了。如果還需要其處理更多特定的事務(wù),就還需要在軟硬件上進(jìn)行完善和升級(jí)設(shè)計(jì)。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44561瀏覽量
635665 -
微處理器
+關(guān)注
關(guān)注
11文章
2263瀏覽量
82485 -
51內(nèi)核
+關(guān)注
關(guān)注
0文章
3瀏覽量
6982 -
RISC-V
+關(guān)注
關(guān)注
45文章
2287瀏覽量
46186
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論