999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FatFs的數顯游標卡尺數據記錄儀

2023-06-21 17:44:23常國權
現代信息科技 2023年1期

摘? 要:為了實現對數顯游標卡尺測量數據的快速、準確記錄,設計了一種基于FatFs文件系統的數顯游標卡尺數據記錄儀。該記錄儀以STC8單片機為核心,擴展了TF卡存儲模塊、實時時鐘模塊等,支持連續記錄和外部按鍵觸發記錄兩種模式。可以把數顯游標卡尺串行通信接口輸出的測量數據以CSV文本文件的格式存儲在TF卡中,并對每條測量數據自動添加編號和時間戳,方便對數據進行分析和處理。

關鍵詞:FatFs文件系統;游標卡尺;STC8單片機;SPI

中圖分類號:TP368.2? ? 文獻標識碼:A? 文章編號:2096-4706(2023)01-0054-04

Digital Vernier Caliper Data Logger Based on FatFs

CHANG Guoquan

(Department of Computer Science and Information Engineering, Anyang Institute of Technology, Anyang? 455000, China)

Abstract: In order to realize the fast and accurate recording of the measurement data of digital vernier caliper, a vernier caliper data logger based on FatFs file system is designed. The data logger takes STC8 Single-Chip Microcontroller as the core, expands the TF card storage module and real-time clock module and so on. It supports two modes of continuous recording and external key triggered recording. It can store the measurement data output by the serial communication interface of the digital vernier caliper into the TF card with the format of CSV text file, and automatically add the number and time stamp to each measurement data. It is convenient for data analysis and processing.

Keywords: FatFs file system; vernier caliper; STC8 Single-Chip Microcontroller; SPI

0? 引? 言

數顯游標卡尺是一種精密的測量工具,它具有功能齊全、讀數直觀方便等優點,現已經被廣泛應用于機械加工、生產制造、工農業生產等領域。大部分數顯游標卡尺都有信號輸出接口,該接口可以把數顯游標卡尺的測量數據發送出來,但該輸出信號并不規范,無法和計算機或其他記錄設備直接相連。這就造成了測量數據無法實現智能存儲,只能靠人工手工記錄,這勢必會造成測量效率低下,且記錄過程復雜易出錯。本設計采用STC8單片機及FatFs文件系統,通過數顯游標卡尺的通信接口記錄測量數據,并以逗號分隔值(Comma- Separated Values, CSV)文本文件的格式存儲在TF卡中,以此來實現對數顯游標卡尺測量數據的自動化記錄,該方法可以降低記錄測量數據錯誤的機會,提高測量記錄的效率,記錄的CSV文本文件也方便對數據進行分析和處理。該記錄儀支持連續記錄和外部按鍵觸發記錄兩種模式。

1? 系統總體設計

該系統采用STC公司最新生產的STC8A8K64D4單片機為主控核心,擴展了實時時鐘模塊、TF卡接口電路、游標卡尺電平轉換電路等,并在STC8單片機上移植了FatFs文件系統。實時時鐘模塊用來給記錄儀提供數據測量的日期和時間;TF卡接口電路實現單片機和TF卡之間的通信接口,通過該接口,單片機可以把日期、時間、游標卡尺測量的數據、單位等信息以文本格式一并存儲到TF卡中;由于大部分數顯游標卡尺的數據通信接口電平都是1.5 V邏輯電平,而STC8單片機的工作電壓一般采用的是3.3 V或5 V,游標卡尺電平轉換電路就完成單片機和游標卡尺直接通信電平的轉換,使通信更可靠;系統電源模塊給單片機和TF卡等模塊提供穩定的電壓。系統總體設計框圖如圖1所示。

2? 系統硬件設計

2.1? 系統主控及電源電路設計

在多方面比較各類單片機的綜合性能和指標之后,本系統采用了STC公司最新生產的STC8A8K64D4單片機作為主控制器。STC8是高速8051系列單片機,它內部有8K RAM,64K Flash,4個串行口,硬件SPI等豐富資源,并在內部集成了高精度的晶振電路,且晶振可在6 MHz~45 MHz范圍內編程設置。它突出的優點是速度快、性價比高、功耗低、資源豐富,設計起來比較方便,可用在智能控制、智能儀器儀表等應用場合。該單片機支持典型3.3 V或5 V供電的場合,考慮到TF卡的工作電壓為3.3 V,為方便單片機與TF卡通信接口方便,這里單片機的供電電壓采用3.3 V供電。系統主控及電源電路設計原理圖如圖2所示。圖2中U1就是STC8單片機的引腳接口圖,J1接口連接到了STC8單片機的串行口1,它是程序下載接口,STC8單片機通過串行口1下載更新用戶程序。兩個LED指示燈D1和D2可以用來指示系統狀態和數據存儲狀態。SET引腳提供給用戶一種選擇性記錄數據的手段,SET引腳連接到STC8單片機的P3.6接口,P3.6支持下降沿中斷,該接口可以外接到一個手動按鍵或腳踏開關,當需要記錄測量數據時,用戶可以按下外接開關。

在系統電源模塊選擇方面,考慮到系統可能會使用電池供電的情況,電源模塊應該具備低功耗特性,在系統電源設計中采用了功耗較低HT7533電源芯片進行設計。HT7533是臺灣合泰(Holtek)生產的低壓差微功耗LDO,它的待機電流在微安級,具有高耐壓、低壓差、低電流消耗的優點。它的輸入電壓高達24 V,輸出電壓3.3 V,并可輸出100 mA以上的電流,完全滿足系統要求。系統電源設計圖如圖2中U2部分所示。

2.2? TF卡及時鐘模塊電路設計

TF卡采用的是Micro SD卡,TF卡堪稱可移動式的儲存IC,在手機以及其他智能設備中被廣泛采用。它的典型工作電壓為3.3 V,支持SDIO和SPI兩種模式的通信協議,STC8單片機沒有硬件SDIO接口,因此TF卡采用SPI通信協議,并和STC8單片機的硬件SPI接口相連接。STC8單片機硬件SPI模塊引腳可以通過軟件編程切換到P2.2~P2.5,其中P2.2是片選NSS,P2.3是MOSI,P2.4是MISO,P2.5是SCLK,因此,根據TF卡引腳接口定義,只需要把它們一一相連即可,在軟件設計時,需要通過發命令使TF卡進入SPI通信模式。TF卡電路設計原理圖如圖3中的J2部分所示。圖3中的U3部分是時鐘模塊電路設計,該時鐘模塊采用的是DS1302,它和STC8單片機的通信接口采用模擬SPI方式,因此,DS1302的CLK,I/O和CE引腳只需要連接到STC8單片機的3個通用IO口即可。BT1是時鐘的備份電池,Y1是DS1302的晶振時鐘。

2.3? 電平轉換電路設計

由于大部分數顯游標卡尺供電采用的是1.5 V的紐扣電池,因此,它們數據通信的邏輯電平也是1.5 V,為了防止數顯游標卡尺和STC8單片機之間出現通信不穩的情況,這里用比較器LM393來實現1.5 V邏輯電平和3.3 V邏輯電平之間的轉換,電平轉換電路設計原理圖如圖4所示。在圖4中J3為數顯游標卡尺數據線的接口,CLK為時鐘輸出,SDA為數據輸出,假定它們輸出的高電平為1.5 V,則該電平會和U4的2腳或7腳的電壓進行比較,而2腳或7腳的電壓是固定的,通過電阻分壓比例可知,該電壓為約為1.11 V,當CLK或SDA輸出高電平1.5 V時,比1.11 V要高,此時U4的OUTA或OUTB輸出高電平,反之,則輸出低電平,從而實現電平轉換。OUTA接到了STC8單片機的P3.2引腳,作為時鐘采集端;OUTB接到了STC8單片機的P3.4引腳,作為數據采集端。

3? 系統軟件設計

系統軟件設計主要包括數顯游標卡尺數據的采集、TF卡底層SPI驅動的編寫、FatFs文件系統的移植等,這里主要軟件的設計流程,軟件編程是在Keil C開發環境中用C語言編寫,并使用STC-ISP軟件下載到STC8單片機中。

數顯游標卡尺數據的采集通過數顯游標卡尺提供的串行數據接口實現。數顯游標卡尺提供了一個簡化的三線SPI串行數據接口,在測量過程中,每隔一定的時間數顯游標卡尺會通過該接口輸出一組時鐘和數據,每組數據24位,遵循先送低位再送高位的原則。數顯游標卡尺輸出的一組24位數據如圖5所示。

24位數據分成3個字節,前2個字節(16位)組成數據位,最后一個字節(8位)包含正負標志位和單位等信息,根據以上協議及圖4中的引腳分配結構,數據采集時只需要監測數顯游標卡尺的時鐘線,每監測到一個時鐘上升沿,就從數據線讀取一位數據。STC8單片機的P3.2引腳(INT0)支持上升沿中斷,可以在INT0的中斷服務子程序中進行數據讀取和處理,每采集完成24位數據,就對3個字節進行處理,并把處理好的數據放入到環形隊列中等待STC8單片機進行存儲。在連續存儲模式下測量數據會不停地寫入到緩沖區;在外部按鍵觸發模式下,只有檢測到用戶按鍵,才會把數據寫入到緩沖區。

TF卡底層SPI驅動的編寫通過查閱TF的通信協議,并編寫程序來實現。如2.2所述,TF卡支持SDIO和SPI兩種模式的通信協議,STC8單片機和TF卡采用SPI通信協議,STC8單片機上電之后首先初始化硬件SPI接口,然后調用SPI讀寫子程序來實現TF卡底層驅動的編寫。在TF卡上電之后,拉低NSS為低電平,使TF卡進入SPI模式,在發送給TF卡發送命令之前,要先發送74個時鐘,之后才能開始命令操作。TF卡提供了讀操作、寫操作等多條指令,可以通過這些指令來實現對TF卡的讀寫操作。底層驅動測試完成之后,就可以把對TF卡的各種操作封裝成函數,供FatFs文件系統調用。

本設計在STC8單片機上移植FatFs文件系統,方便對數據的管理和存儲。FatFs是一個用C語言編寫的通用文件系統模塊,主要用于在小型嵌入式系統中實現FAT文件系統。它包含底層接口層、中間層(FatFs核心層)和應用層3層,底層接口層可以調用前面封裝好的對TF卡操作的各種函數以,并可以從DS1302時鐘芯片中讀取日期和時間,作為文件系統的時間戳。FatFs文件系統的移植并不復雜,修改好底層接口調用的函數之后,根據需要修改diskio.h文件中宏定義來選擇某些選項,比如是否使用長文件名、設置扇區大小等,這些選項會影響文件系統的大小。然后就可以調用FatFs提供的各種文件操作函數來操作文件了,比如打開文件函數f_open()、寫文件函數f_write()等。系統流程圖如圖6所示。

4? 系統測試

為了驗證系統是否達到預期效果,對系統進行了系統測試。數顯游標卡尺在測量數據過程中會通過串行接口周期性地發送測量數據,根據數顯游標卡尺產品的不同,發送數據的時間周期也不完全相同,本文測試用到的數顯游標卡尺大約每隔145 ms就發送一組完整的數據,1 s內就會有約7組數據發送出來。為防止測量數據丟失,在數據緩存時使用了一個環形隊列,STC8單片機有8 KB的內部擴展RAM,除去各種變量及數組使用的1.8 KB之外,剩余的6 KB多RAM全部用來作為環形隊列使用。根據數顯游標卡尺發送過來的數據進行處理并轉換為文本格式之后,一條數據大約占用40個字節,1 s內發送的數據約280個字節,寫滿緩沖器需要6×1024÷280≈22 s,而6 KB的數據全部寫入TF卡所需要的時間遠遠小于22 s。如前所述,STC8單片機采用P3.2中斷方式來接收數顯游標卡尺數據的,在while主程序中判斷緩沖區是否為空,如果緩沖區不為空,就把隊列頭指針和尾指針之間的數據全部寫入TF卡中,隨著緩沖區內數據的增多,寫入TF卡的數據量也會增大,寫入效率就會隨之提高,因此,數顯游標卡尺測量的數據不會丟失,實驗測試也證明了這一點。實驗測量數據記錄文件如圖7所示。當然用戶也可以設置為外部開關觸發記錄方式,這樣就不必存儲所有的測量數據,而只存儲用戶需要的測量數據。

5? 結? 論

本文從硬件設計和軟件設計兩個方面論述了基于FatFs文件系統的數顯游標卡尺數據記錄儀的實現過程,在硬件設計時著重從降低功耗和提高性能方面入手,力求把設計向產品方向轉化。軟件設計方面分析了數顯游標卡尺測量數據的采集、處理以及數據往TF卡中存儲的過程,實驗測試證明了系統的穩定性和可靠性,后繼將進一步在實際應用中測試系統的實用性并進一步改進。

參考文獻:

[1] 趙景波,張偉.Protel 99 SE實用教程:第3版 [M].北京:人民郵電出版社,2017.

[2] FatFs-Generic FAT Filesystem Module [EB/OL].http://elm-chan.org/fsw/ff/00index_e.html.

[3] 深圳國芯人工智能有限公司.STC8A/8F系列單片機技術參考手冊 [EB/OL].http://www.stcmcudata.com/STC8F-DATASHEET/STC8A-STC8F.pdf.

[4] 嚴蔚敏,李冬梅,吳偉民.數據結構(C語言版):第2版 [M].北京:人民郵電出版社,2015.

[5] 徐愛鈞.單片機原理與應用——基于C51及Proteus仿真 [M].北京:清華大學出版社,2015.

作者簡介:常國權(1973.11—),男,漢族,河南清豐人,副教授,碩士,研究方向:嵌入式技術應用與開發。

收稿日期:2022-09-09

基金項目:2021年度安陽市科技計劃項目(2021C01SF030)

主站蜘蛛池模板: 中文字幕亚洲综久久2021| 欧美视频在线播放观看免费福利资源 | 99re经典视频在线| 国产免费网址| 日本三级精品| 狠狠躁天天躁夜夜躁婷婷| 九九九精品视频| 精品国产Av电影无码久久久| 亚洲无线观看| 国产不卡在线看| 国产一级二级在线观看| 在线va视频| 国产www网站| 狠狠色噜噜狠狠狠狠色综合久| 久久亚洲高清国产| 日韩东京热无码人妻| 久久综合亚洲鲁鲁九月天| 精品久久人人爽人人玩人人妻| 欧美成人午夜影院| 日本高清免费一本在线观看 | 毛片基地美国正在播放亚洲| 看国产一级毛片| 韩日免费小视频| 亚洲日韩高清在线亚洲专区| 国产爽妇精品| 国产女同自拍视频| 久久香蕉国产线看精品| 亚洲va欧美ⅴa国产va影院| 色悠久久综合| 一级毛片免费观看久| 亚洲国产精品无码AV| jijzzizz老师出水喷水喷出| 精品偷拍一区二区| 亚洲激情99| 国产成人亚洲毛片| 午夜一区二区三区| 亚洲精品天堂自在久久77| 免费在线观看av| 永久毛片在线播| 午夜国产小视频| 国产精品亚洲精品爽爽| 亚洲色精品国产一区二区三区| 久久久久亚洲AV成人网站软件| 国产毛片不卡| 亚洲妓女综合网995久久| 国产黑丝一区| 日本手机在线视频| 一级爆乳无码av| 一级成人a毛片免费播放| 午夜不卡福利| 久久久久国产一级毛片高清板| 亚洲精品午夜无码电影网| 99精品久久精品| 国产精品爆乳99久久| 国产日韩AV高潮在线| 国产手机在线小视频免费观看| 国产欧美日韩综合一区在线播放| 欧美成人国产| 国产麻豆91网在线看| 国产免费久久精品99re丫丫一| 伊人久久大香线蕉成人综合网| 欧洲精品视频在线观看| 中国国产A一级毛片| 中文字幕佐山爱一区二区免费| 久久 午夜福利 张柏芝| 国产综合欧美| 97se亚洲综合在线天天| 成人噜噜噜视频在线观看| 国产v精品成人免费视频71pao| 国产一级小视频| 国产福利一区视频| 99久久精品视香蕉蕉| 国产一区二区精品福利| 在线看片中文字幕| 国产成熟女人性满足视频| 亚洲 成人国产| 成年人午夜免费视频| 国产欧美日韩另类| 国产手机在线ΑⅤ片无码观看| 中文字幕人成乱码熟女免费| 久久亚洲国产最新网站| 久久国产av麻豆|