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