亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MDK軟件的微控制器時鐘系統(tǒng)設計與虛擬仿真

        2019-08-15 10:44:02強,劉
        實驗室研究與探索 2019年7期
        關鍵詞:外設鎖相環(huán)微控制器

        漆 強,劉 爽

        (電子科技大學 光電科學與工程學院,成都 610054)

        0 引 言

        時鐘系統(tǒng)是任何一個微控制器系統(tǒng)穩(wěn)定工作的先決條件,在時鐘節(jié)拍的作用下,微控制器才能完成取指令、解釋、執(zhí)行等一系列操作。一旦時鐘系統(tǒng)失效,整個微控制器系統(tǒng)將無法正常工作。傳統(tǒng)的微控制器電路設計中,如8051等8位單片機,時鐘系統(tǒng)相對比較簡單,一般通過外接晶振或者引入外部時鐘源來構成。而對于目前工程界常用的Cortex-M系列內核微控制器而言,其時鐘系統(tǒng)設計較為復雜,工作頻率相對較高,如何完成時鐘系統(tǒng)的設計和仿真成為了嵌入式系統(tǒng)開發(fā)的第一個難題[1]。

        1 微控制器的時鐘系統(tǒng)

        以Cortex-M3內核微控制器LPC1768為例來介紹一下微控制器時鐘系統(tǒng)的基本構成。

        LPC1768微控制器的時鐘頻率高達100 MHz,片內集成512 KB的Flash存儲器、64 KB的數據存儲器,片內外設組件還包含了以太網接口、USB接口、UART接口、CAN通道、SPI接口、I2C接口、A/D和D/A接口以及70個通用GPIO引腳,廣泛用于工業(yè)控制、物聯(lián)網和智能家居等領域。由于其強大的功能以及便捷的開發(fā)方式,得到了電子工程師的廣泛應用,目前已經逐步取代了傳統(tǒng)的8位單片機[2]。

        LPC1768微控制器的時鐘系統(tǒng)如圖1所示,包括了時鐘源、鎖相環(huán)(Phase Locked Loop,PLL)和時鐘分頻等幾個部分。

        圖1 時鐘系統(tǒng)結構圖

        (1)時鐘源。LPC1768包含了3個時鐘源:主振蕩器,片內RC振蕩器和實時時鐘(Real-Time Clock,RTC)振蕩器。微控制器上電復位后,默認選擇片內RC振蕩器作為時鐘源[3]。之后,用戶可以通過寄存器的設置來切換時鐘源:選擇主振蕩器或者RTC振蕩器。一般情況下,由于片內RC振蕩器的輸出頻率精度較低,用戶在上電復位完成后,都會切換到輸出頻率精度較高的主振蕩器作為時鐘源。主振蕩器和RTC振蕩器的電路設計很簡單:使用石英晶體外加兩個電容和微控制器內部的反相器就可以完成?;镜碾娐吩韴D如2所示。

        圖2 時鐘電路原理圖

        使用多個時鐘源的目的是:當出現(xiàn)極端情況,如主振蕩器和RTC振蕩器都失效時,系統(tǒng)會自動切換到片內RC振蕩器作為時鐘源,確保系統(tǒng)的安全性。

        (2)鎖相環(huán)。和傳統(tǒng)的8位單片機十幾MHz的時鐘頻率相比,Cortex-M內核微控制器的時鐘頻率較高,大都在幾十MHz到200 MHz之間。時鐘頻率的提升是利用了內部的鎖相環(huán)(PLL)完成,其工作原理是利用相位檢測器,根據輸入頻率和輸出頻率之間的差值輸出不同的電流,進而控制流控振蕩器(Current-Controlled Qscillator,CCO)的振蕩頻率,直至兩者差值為0,反饋系統(tǒng)達到穩(wěn)定,輸出最終的穩(wěn)定頻率[4]。

        使用PLL在微控制器內部進行時鐘倍頻的好處是可以使微控制器外圍電路的工作頻率保持在十幾MHz,減輕電路布線的難度,不需要考慮高頻電路布線時的傳輸線效應。

        (3)時鐘分頻。PLL輸出的頻率經過分頻后提供給微控制器內核和片內集成的眾多外設使用,如以太網、串口和定時器等模塊。每一個外設都可以單獨設置時鐘的分頻系數,用戶可以根據外設的實際工作情況進行選擇。同時對于在具體應用中沒有使用的外設,還可以關閉其時鐘輸入,減少系統(tǒng)功耗[5]。

        2 利用MDK軟件進行時鐘系統(tǒng)的設計

        由于Cortex-M3內核微控制器的時鐘系統(tǒng)結構比較復雜,時鐘系統(tǒng)的初始化配置和設計需要涉及到大量的硬件寄存器,用戶必須要搞清楚這些寄存器每一位的含義才能正確的配置,如主振蕩器控制這樣一個簡單的功能,就需要去了解系統(tǒng)控制和狀態(tài)寄存器(SCS)的具體定義,見表1[6]。

        表1 系統(tǒng)控制和狀態(tài)寄存器(SCS)位描述

        同時在鎖相環(huán)對時鐘的倍頻處理中,用戶還需要根據實際所需的內核時鐘去計算分頻系數和倍頻系數,并按照一定配置過程:使能鎖相環(huán) → 等待鎖相環(huán)穩(wěn)定 → 連接鎖相環(huán) → 讀取鎖相環(huán)狀態(tài)才能完成。因此對于初學者而言,正確進行時鐘系統(tǒng)的初始化和設計具有相當的難度[7]。

        RealView Microcontroller Development Kit(以下簡稱MDK)開發(fā)軟件為微控制器時鐘系統(tǒng)的正確配置提供了良好的解決方案[8]。具體包括3項功能:① 提供集成開發(fā)環(huán)境,進行文件的編寫、編譯,鏈接和下載;② 提供了圖形用戶界面,自動配置啟動代碼;③ 提供強大的虛擬仿真功能,能夠對片內外設的硬件寄存器進行實時的仿真和測試。

        以MDK4.7為例,在軟件的安裝目錄KEILARMStartup下面,提供了軟件所支持的微控制器的啟動代碼,LPC1768芯片的啟動代碼為startup_LPC17xx.s和system_LPC17xx.c。其中,startup_LPC17xx.s是匯編格式的啟動代碼,主要完成系統(tǒng)堆棧的配置、中斷向量表的建立等工作;system_LPC17xx.c是c語言格式的啟動代碼,主要完成時鐘系統(tǒng)的設置[9]。

        將system_LPC17xx.c加入到工程項目中,可以在MDK軟件中看到時鐘系統(tǒng)的初始化源代碼。由于源代碼需要用戶去閱讀芯片手冊,了解大量硬件寄存器的用法。為了方便用戶配置,MDK軟件提供了和啟動代碼對應的圖形配置界面,如圖3所示。

        圖3 時鐘配置的圖形用戶界面

        在該配置界面中,用戶可以通過下拉菜單進行時鐘源的選擇,內核時鐘以及外設時鐘分頻設置,在鎖相環(huán)參數的配置上,還可以直接輸入M和N等分頻和倍頻系數的值,系統(tǒng)會自動計算出最后的內核時鐘。整個配置過程簡單直觀,降低了開發(fā)難度,提高了開發(fā)效率。

        3 利用MDK軟件進行時鐘系統(tǒng)的虛擬仿真

        MDK軟件提供了軟件仿真和硬件仿真兩種模式。軟件仿真可以在沒有硬件平臺的情況下模擬片內所有外設的硬件寄存器,用戶可以對每一個硬件寄存器進行仿真和觀測,并能夠實時顯示用戶代碼對相關硬件寄存器的修改。同時提供了觀察(Watch)窗口,用戶可以添加需要觀測的變量,進行數據的監(jiān)測[10]。

        完成時鐘系統(tǒng)的初始化配置后,可以利用MDK軟件強大的虛擬仿真功能進行時鐘系統(tǒng)的仿真[11]。

        (1)時鐘源選擇仿真窗口(Clock Source Selection)。時鐘源選擇仿真窗口實時顯示時鐘源選擇寄存器(CLKSRCSEL)的配置值以及各個時鐘的頻率,并顯示最后的配置結果,如圖4所示。

        圖4 時鐘源選擇仿真窗口

        (2)時鐘分頻仿真窗口(Clock Divers)。時鐘分頻仿真窗口主要顯示了內核時鐘、USB模塊和外設時鐘的分頻設置,如圖5所示。最上方顯示的是內核時鐘分頻(CPU Clock Configuration),用于配置微控制器的內核時鐘,也是系統(tǒng)運行時鐘。中間部分是USB模塊時鐘分頻(USB Clock Configuration),對于USB模塊而言,必須工作在穩(wěn)定的48MHz時鐘之下。最下方是外設的時鐘分頻選擇(Peripheral Clock Selection),每一個片內外設都可以有一分頻、二分頻、四分頻和八分頻四種選擇,默認使用四分頻[12]。

        圖5 時鐘分頻仿真窗口

        (3)鎖相環(huán)仿真窗口(Phase Locked Loop0)。鎖相環(huán)仿真窗口實時顯示了與鎖相環(huán)配置相關的寄存器的配置值,包括鎖相環(huán)控制寄存器、鎖相環(huán)配置寄存器、鎖相環(huán)狀態(tài)寄存器和饋送寄存器,并顯示了根據這些配置參數得到的鎖相環(huán)輸出時鐘(PLLCLK),如圖6所示。用戶通過實時觀察相關的配置值和最后的輸出時鐘,可以判斷時鐘的配置是否正確,以便進行代碼的修正[13]。

        圖6 鎖相環(huán)仿真窗口

        (4)時鐘系統(tǒng)仿真圖(Clock Generation Schematic)。完成時鐘系統(tǒng)的所有配置之后,MDK軟件可以生成整個時鐘系統(tǒng)的仿真結構圖,如圖7所示。

        圖7 時鐘系統(tǒng)仿真圖

        時鐘系統(tǒng)仿真圖直觀的展示從輸入到輸出的整個時鐘系統(tǒng)的結構圖。從圖7可以看出:在時鐘源選擇上,選擇了由外部晶振構成的主振蕩器(MOSC),時鐘頻率為12 MHz。該時鐘作為PLL0的輸入時鐘,經過鎖相環(huán)的分頻和倍頻后,輸出的時鐘(PLLCLK)為400 MHz,再經過四分頻后輸出的系統(tǒng)主時鐘(CCLK)為100 MHz。外設時鐘可以為系統(tǒng)主時鐘的一分頻、二分頻、四分頻和八分頻。USB模塊的時鐘源也由主振蕩器提供,經過PLL1倍頻后在進行分頻,最后得到穩(wěn)定的48 MHz的USB時鐘[14]。

        4 結 語

        利用MDK軟件提供的初始化代碼配置界面,解決了時鐘系統(tǒng)初始化過程繁雜的問題,用戶不再需要去掌握幾十個硬件寄存器的含義,只需要在圖形用戶界面上進行簡單的勾選即可[15]。同時借助MDK軟件提供的虛擬仿真功能,用戶在沒有硬件平臺的基礎上,也可以進行時鐘系統(tǒng)以及片內外設的仿真和測試:提供的硬件寄存器仿真窗口,實時根據用戶代碼的配置進行相應信息的顯示,方便用戶進行源碼的測試;生成的系統(tǒng)時鐘圖,直觀的展示了時鐘源的選擇,時鐘的倍頻和分頻等一系列過程,并顯示了最終的時鐘配置結果,方便用戶檢驗配置的結果[16]。

        猜你喜歡
        外設鎖相環(huán)微控制器
        鎖相環(huán)HMC832的設計與實現(xiàn)
        電子測試(2018年14期)2018-09-26 06:04:00
        新型無鎖相環(huán)DSTATCOM直接電流控制方法
        物聯(lián)網技術在微控制器實驗教學中的應用
        電子制作(2017年14期)2017-12-18 07:07:58
        新型鎖相環(huán)技術及仿真分析
        電測與儀表(2015年9期)2015-04-09 11:59:28
        Atmel針對新一代物聯(lián)網應用發(fā)布全新32位微控制器
        最新STM32設計工具增加對混合信號微控制器的支持
        意法半導體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
        Microchip推出具備雙ADC外設的全新器件,擴展其低成本8位PIC?單片機產品線
        鎖相環(huán)在微機保護中的應用
        貼身呵護 必不可少的PSP外設
        国产啪啪视频在线观看| 狠狠色噜噜狠狠狠狠888奇禾| 热久久久久久久| 亚洲国产一区二区三区视频在线 | 日本免费三片在线播放| 极品嫩模大尺度av在线播放| 成人国内精品久久久久一区| 欧美在线观看一区二区| 亚洲国产精品成人一区| 五月激情综合婷婷六月久久| 少妇愉情理伦片丰满丰满午夜| 免费一级毛片麻豆精品| 中文字幕国产精品专区| 桃红色精品国产亚洲av| 国产乱xxⅹxx国语对白| 亚洲AV肉丝网站一区二区无码| 国产一区二区美女主播| 亚洲成av人片不卡无码| 亚洲中文字幕无码一区| 日韩在线视频不卡一区二区三区| 国产一区二区三区 在线观看| 国产精品美女久久久久av福利| 馬与人黃色毛片一部| 美女黄网站永久免费观看网站| 加勒比东京热中文字幕| 国精品无码一区二区三区在线蜜臀 | 亚洲最大中文字幕在线| 亚洲av蜜桃永久无码精品 | 久久激情人妻中文字幕| 精品人妻av区乱码色片| 国产精品久久久久久影视 | 亚洲乱色视频在线观看| 亚洲黄色一级在线观看| 无码任你躁久久久久久久| 粉嫩极品国产在线观看| 日韩激情视频一区在线观看| 久久精品国产自在天天线| 男女真实有遮挡xx00动态图| 精品视频一区二区杨幂| 日本三级吃奶头添泬| 国产手机在线αⅴ片无码观看|