<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【紫光同創國產FPGA教程】【第二十二章】RTC時間實驗

FPGA技術專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-03-10 13:31 ? 次閱讀

1. 實驗簡介

實驗通過閱讀DS1302芯片手冊,了解DS1302操作時序和相關寄存器,然后設計程序將DS1302 RTC時間通過串口發送到PC,通過串口調試助手可以看到時間信息。

2. 實驗原理

RTC(Real-Time Clock)實時時鐘為系統提供一個可靠的時間,并且在斷電的情況下,RTC實時時鐘也可以通過電池供電,一直運行下去。RTC通過類SPI總線向FPGA傳送8位數據(BCD碼)。數據包括秒,分,小時,日期,天,月和年。在本實驗中我們將讀取RTC的時,分,秒的數據通過串口發送到PC。

2.1 硬件介紹

開發板上RTC設計采用DALLAS公司的低功耗實時時鐘芯片DS1302, DS1302的VCC2為主電源,VCC1為后備電源。在主電源關閉的情況下,也可以通過電池保持時鐘的連續運行。DS1302外接32.768kHz晶振為RTC電路提供振蕩源。 RTC部分的原理圖如下圖所示:

o4YBAGBAcJmAXjGzAABPJ0LpP7s516.jpg開發板RTC

2.2 DS1302時序和控制

1)寫數據時序

DS1302芯片寫操作的時序圖。第一個字節是“訪問寄存器的地址”,第二字節是“寫數據”。在寫操作的時候,都是“上升沿有效”,然而還有一個條件,就是CE(/RST)信號必須拉高。(數據都是從LSB開始發送,亦即是最低位開始至最高位結束)。

pIYBAGBAcJmAIucYAABlF9KpIyE828.jpgDS1302寫時序

2)讀數據時序

基本上和寫操作的時序圖大同小異,區別的地方就是在第二個字節是“讀數據”的動作。第二字節讀數據開始時,SCLK信號都是下降沿送出數據,這個時候可以使用上升沿讀取數據。CE(/RST)信號同樣是必須拉高。(第一節數據是從LSB開始輸出,第二節數據是從LSB開始讀入)。

o4YBAGBAcJmAa-s0AABudCUDlD0788.jpg

3)命令格式和寄存器

無論是讀操作還是寫操作,在時序圖中,第一個字節都是“訪問寄存器的地址”,然而這一字節數據有自己的格式。

pIYBAGBAcJqAOWgoAABQuOYtlnw839.jpg

BIT 7 固定。 BIT 6 表示是訪問寄存器本身,還是訪問RAM空間。 BIT 5 到BIT1 表示是寄存器或RAM空間的地址。 BIT 0 表示是訪問寄存器本身是寫操作,還是讀操作。

下圖是DS1302的寄存器地址和數據格式

o4YBAGBAcJqAR_9ZAACcVVYDZHQ356.jpg

3. 程序設計

通過分析DS1302讀寫時序,可以看出和SPI時序類似,只不過數據輸出和輸入分時復用了,本實驗利用SPI Master模塊來做為DS1302的底層讀寫控制模塊,然后再編寫一個RTC讀寫模塊。

ds1302_io模塊完成DS1302寄存器讀寫控制,狀態機如下圖所示。

狀態“S_IDLE”空閑狀態,收到讀寫寄存器請求寫進入“S_CE_HIGH”狀態,將CE拉高,然后根據請求類型,進入讀(S_READ)或寫狀態(S_WRITE)。

“S_WRITE”狀態下一個狀態進入寫地址狀態“S_WRITE_ADDR”,再進入寫數據狀態“S_WRITE_DATA”,完成一個寄存器的寫入,最后應答,拉低CE。

“S_READ”狀態下一個狀態進入讀地址狀態“S_READ_ADDR”,再進入讀數據狀態“S_READ_DATA”,完成一個寄存器的讀取,最后應答,拉低CE。

ds1302_io狀態機

信號名稱 方向 說明
clk in 時鐘輸入
rst in 異步復位輸入,高復位
ds1302_ce out DS1302 CE,高有效
ds1302_sclk out DS1302串行時鐘
ds1302_io inout DS1302數據
cmd_read in 讀寄存器請求,發出請求時準備好地址
cmd_write in 寫寄存器請求,發出請求時準備好地址和數據
cmd_read_ack out 讀寄存器應答,應答時讀取數據有效
cmd_write_ack out 寫寄存器應答
read_addr in 讀寄存器地址
write_addr in 寫寄存器地址
read_data out 讀出的數據
write_data in 寫寄存器數據

ds1302_io端口

ds1302模塊主要完成時間寄存器的讀寫控制,狀態機狀態較為簡單。

ds1302模塊狀態機

信號名稱 方向 說明
clk in 時鐘輸入
rst in 異步復位輸入,高復位
ds1302_ce out DS1302 CE,高有效
ds1302_sclk out DS1302串行時鐘
ds1302_io inout DS1302數據
write_time_req in ds1302寫時間請求,請求發出時,時間數據write_second、write_minute、write_hour、write_date、write_month、write_week、write_year要有效
write_time_ack out 寫時間請求應答
write_second in 寫時間:秒,BCD碼,00-59
write_minute in 寫時間:分,BCD碼,,00-59
write_hour in 寫時間:時,BCD碼,,00-23
write_date in 寫時間:日,BCD碼,,01-31
write_month in 寫時間:月,BCD碼,,01-12
write_week in 寫時間:周,BCD碼,,01-07
write_year in 寫時間:年,BCD碼,,00-99
read_time_req in 讀時間請求
read_time_ack out 讀時間請求應答
read_second out 讀時間:秒,BCD碼,00-59
read_minute out 讀時間:分,BCD碼,,00-59
read_hour out 讀時間:時,BCD碼,,00-23
read_date out 讀時間:日,BCD碼,,01-31
read_month out 讀時間:月,BCD碼,,01-12
read_week out 讀時間:周,BCD碼,,01-07
read_year out 讀時間:年,BCD碼,,00-99

ds1302模塊端口

ds1302_test模塊主要CH狀態檢測,CH位于秒寄存器的BIT7位,上電后首先讀取時間,判斷秒寄存器的CH狀態,如果為高,表示DS1302暫停,狀態機進入“S_WRITE_CH”,將CH寫0,并將一個初始時間寫入,然后循環不斷的讀取時間寄存器。

ds1302_test狀態機

信號名稱 方向 說明
clk in 時鐘輸入
rst in 異步復位輸入,高復位
ds1302_ce out DS1302 CE,高有效
ds1302_sclk out DS1302串行時鐘
ds1302_io inout DS1302數據
read_second out 時間:秒,BCD碼,00-59
read_minute out 時間:分,BCD碼,00-59
read_hour out 時間:時,BCD碼,00-23
read_date out 時間:日,BCD碼,01-31
read_month out 時間:月,BCD碼,01-12
read_week out 時間:周,BCD碼,01-07
read_year out 時間:年,BCD碼,00-99

ds1302_test端口

4. 實驗現象

將程序下載到開發板以后,連接uart轉串口到PC機

開發板串口連接圖

打開串口調試助手

端口選擇按照設備管理器中“Silicon Labs CP210x USB to UART Bridge”設置,波特率選擇“115200”,其他值默認。

我們可以看到串口每秒會收到一條數據,顯示一個時間。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1606

    文章

    21344

    瀏覽量

    594175
  • 時鐘
    +關注

    關注

    10

    文章

    1481

    瀏覽量

    130361
  • DS1302
    +關注

    關注

    8

    文章

    448

    瀏覽量

    50271
  • RTC
    RTC
    +關注

    關注

    2

    文章

    488

    瀏覽量

    65506
  • 紫光同創
    +關注

    關注

    5

    文章

    71

    瀏覽量

    27297
收藏 人收藏

    評論

    相關推薦

    國產FPGA介紹-紫光同創

    紫光同創紫光集團旗下紫光國微的子公司,成立于2013年,有十余年可編程邏輯器件研發經歷,布局覆蓋高中低端FPGA產品。 早在2015年,
    發表于 01-24 10:45

    基于VHDL的FPGA與NIOS_II實例精煉代碼實例下載

    FPGA與NIOS_II實例精煉》第八代碼.rarhttp://115.com/file/e7wph99v#《基于VHDL的FPGA與NIOS_II實例精煉》第二十二章代碼.rar
    發表于 02-06 11:27

    「正點原子Linux連載」第二十二章串口格式化函數移植實驗

    1)實驗平臺:正點原子Linux開發板2)摘自《正點原子I.MX6U嵌入式Linux驅動開發指南》關注官方微信號公眾號,獲取更多資料:正點原子第二十二章串口格式化函數移植實驗上一
    發表于 12-28 15:42

    正點原子開拓者FPGA開發板資料連載第二十二章RGBTFT-LCD彩條顯示

    ://www.openedv.com/thread-13912-1-1.html第二十二章 RGB TFT-LCD彩條顯示實驗TFT-LCD是一種液晶顯示屏,它采用薄膜晶體管(TFT)技術提升圖像質量,如提高圖像亮度和對比度等
    發表于 08-08 10:59

    【正點原子FPGA連載】第二十二章頻率計實驗-領航者ZYNQ之FPGA開發指南

    原子公眾號,獲取最新資料第二十二章頻率計實驗數字頻率計是一種基本的測量儀器,被廣泛應用于航天、電子、測控等領域?;趥鹘y測頻原理的頻率計的測量精度將隨被測信號頻率的下降而降低,在使用中有較大的局限性,而
    發表于 09-27 17:54

    【正點原子FPGA連載】第二十二章頻率計實驗-領航者ZYNQ之FPGA開發指南

    原子公眾號,獲取最新資料第二十二章頻率計實驗數字頻率計是一種基本的測量儀器,被廣泛應用于航天、電子、測控等領域?;趥鹘y測頻原理的頻率計的測量精度將隨被測信號頻率的下降而降低,在使用中有較大的局限性,而
    發表于 09-28 18:10

    HarmonyOS內核源碼分析(下)

    是操作系統的基本時間單位第十九章 CPU是韋小寶,有哪七個老婆第二十章 全盤解剖系統調用實現過程第二十一章 ARM 37個寄存器一網打盡, 不再神秘第二十二章 社會很單純 , 復雜的是
    發表于 04-02 15:56

    火力發電廠水汽分析方法 第二十二部分:化學耗氧量的測定(高錳

    火力發電廠水汽分析方法 第二十二部分:化學耗氧量的測定(高錳酸鉀法) Analytical methods of steam and water in power plants Part
    發表于 06-08 12:14 ?23次下載

    第二十二講 同步時序邏輯電路的分析方法

    第二十二講 同步時序邏輯電路的分析方法 內容提要7.1 概述一、時序電路的定義二、電路構成三、分類:1 同步2 異
    發表于 03-30 16:26 ?4957次閱讀
    <b class='flag-5'>第二十二</b>講 同步時序邏輯電路的分析方法

    模擬電路網絡課件 第二十二節:功率放大電路的一般問題

    模擬電路網絡課件 第二十二節:功率放大電路的一般問題 5.1 功率放大電路的一般問題 一、功率放大電路的定義
    發表于 09-17 11:05 ?767次閱讀

    彩筆生花 共繪藍圖 丨 友基二十二周年慶推薦產品

    砥礪奮進 繼往開來 風雨砥礪,歲月如歌,友基也正式迎來了它的第二十二個生日。過去數十年來,友基作為中國手寫數字化硬件、軟件技術的開發先導者,始終致力于打造最優質的數字繪畫產品。展望未來,友基愿與所有
    的頭像 發表于 08-17 17:00 ?842次閱讀

    第二十二屆高交會深圳開幕 3300多家展商亮相

    11日,以科技改變生活,創新驅動發展為主題的第二十二屆中國國際高新技術成果交易會在深圳開幕。3300多家海內外展商攜帶逾萬個科技創新項目亮相。 本屆高交會將持續至11月15日,安排有展覽、論壇
    的頭像 發表于 11-12 08:44 ?2041次閱讀

    2020第二十二屆高交會助力科技領域雙循環

    11月11日,第二十二屆中國國際高新技術成果交易會(下稱高交會)在深圳拉開大幕,國內外優秀企業、創客、投融資機構以及專家學者將共聚一堂,共同梳理未來新機遇。 觀眾體驗新一代智能頭盔 以科技創新驅動
    發表于 11-12 10:56 ?489次閱讀

    第二十二屆高交會如期而至,共話云計算行業發展

    11 月 11 日,第二十二屆高交會如期而至。本屆高交會歷時 5 天,以科技改變生活,創新驅動發展為主題。在今年高交會中,特設WEB 3.0 中國峰會,共話互聯網新技術、大數據、分布式存儲等話題
    的頭像 發表于 11-13 11:15 ?1347次閱讀

    第二十二屆高交會圓滿落幕,極視角與您明年相約

    2020年11月15日,以科技改變生活,創新驅動發展為主題的第二十二屆中國國際高新技術成果交易會(簡稱高交會)在深圳會展中心落下帷幕。 極視角作為人工智能企業,攜算法商城、極市與極星兩大底層引擎平臺
    的頭像 發表于 11-24 10:34 ?1141次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>