找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1903|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

GP22單片機(jī)寄存器設(shè)置例子

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1091405 發(fā)表于 2023-8-16 11:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
硬件設(shè)計(jì),見(jiàn)參考手冊(cè)。
軟件設(shè)計(jì):

配置寄存器0的設(shè)置: 0x00C53855
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
0
不使用FIRE脈沖,個(gè)數(shù)為0
不使用FIRE 分頻
0x00


  
D23
  
D22
D21
D20
D19
D18
D17
D16
0           1
0
0           1
0
1
校準(zhǔn)周期為16個(gè)
不分頻就用4MHz
晶振一直開啟
2個(gè)測(cè)溫
512us
0x25

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
1
1
1
0
0
0
2熱身
選32K
開啟校準(zhǔn)
運(yùn)行校準(zhǔn)
范圍2
上升
上升
上升沿
0x38

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個(gè)數(shù)字

配置寄存器1的設(shè)置   0x21c13f55
  
D31
  
D30


D29
D28
D27
D26
D25
D24


2
1


只測(cè)一個(gè)脈沖,STOP1
只有START 故只能設(shè)為1
0x21


  
D23
  
D22
D21
D20
D19
D18
D17
D16
1
1
0
1
快初始


STOP2的脈沖數(shù),不捕獲
STOP1的脈沖數(shù),捕1個(gè)
0xc1

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
1
1
1
1
1
1
功耗
外部
輸出4KHz 不用EnStart功能
輸出32K,不用FIRE_IN功能
0x3F  我們可以測(cè)一下DIS引腳和FIN腳 是不是有4K和32K信號(hào)來(lái)證明設(shè)置是否正確
0x07 則我們?cè)O(shè)置EN_START功能。
  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個(gè)數(shù)字


配置寄存器2的設(shè)置  0xE0002055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
1
1
1
0
0
0
0
0
只開啟ALU中斷
上升
上升


0xE0    改成E0試一下看中斷到底產(chǎn)不產(chǎn)生   延時(shí)改成2us

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















0x00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
1
0
0
0
0
0
0






這個(gè)是5位小數(shù)部分
0x20   改成2us后才計(jì)算這個(gè)STOP1  5位小數(shù)部分不管它了

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個(gè)數(shù)字

配置寄存器3的設(shè)置   0x90000055         B80000055 這個(gè)就是4096us
  
D31
  
D30
D29
D28
D27
D26
D25
D24
1
0
0
1
0
0
0
0
自動(dòng)
第1波關(guān)
FFFFFF
1024us






0xb8

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















0x00

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0






STOP1第2個(gè)波整數(shù)部分14位   小數(shù)部分5位
0x00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
















0
1
0
1








0x55 隨便寫一個(gè)數(shù)字


配置寄存器4的設(shè)置  0x20000055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
2








默認(rèn)值








0x20

  
D23
  
D22
D21
D20
D19
D18
D17
D16
































00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
































00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55
配置寄存器5的設(shè)置  0x18000055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
0
0
1
1
0
0
0






開噪聲
關(guān)噪聲
不用聲環(huán)法
0x18

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0
















00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55

配置寄存器6的設(shè)置    0x40cf0055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
1
0
0
0
0
0
0
關(guān)模擬
內(nèi)部












0x40

  
D23
  
D22
D21
D20
D19
D18
D17
D16
1
1
0
0
0
1
0
1


充電時(shí)間不用它
一直開
測(cè)溫度有關(guān)
0xc5


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0
50Hz


4倍精
2倍精
順序






00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
















0
1
0
1
0
1
0
1
0x55
編寫一個(gè)程序,寫配置寄存器,再讀配置寄存器
寫配置寄存器,先發(fā)一個(gè)0x80 后面跟著一個(gè)32位的先高字節(jié)后低字節(jié)寫入。
讀56位ID呢 我們先發(fā)一個(gè)0xb7  然后就是連續(xù)寫7個(gè)0進(jìn)去,然后將讀到的緩沖區(qū)讀子網(wǎng)來(lái)看一下。注意到寫b7之后,我們一個(gè)一個(gè)的寫00,然后讀到SPI的值。
先發(fā)一個(gè)0x50 復(fù)位芯片,延時(shí)1ms后,發(fā)一個(gè)Init命令,即0x70。然后發(fā)一個(gè)0x01命令等這個(gè)START信號(hào)過(guò)來(lái)。然后就是在等中斷程序了,在中斷程序中,我們要讀取這個(gè)測(cè)量的距離時(shí)間差值 通過(guò)發(fā)一個(gè)0xB0給這個(gè)讀命令。讀32位的值。

由于這個(gè)芯片的頻率可以達(dá)到20M,故我們用10M的速度是沒(méi)什么問(wèn)題的。
此時(shí)讀32位只需要3.2us  加上前導(dǎo)。故總的時(shí)間在4us左右,中斷程序允許這個(gè)。
或者我們用DMA來(lái)讀當(dāng)然也是可以的。但是DMA的話就要一個(gè)緩沖區(qū)buffer5個(gè)字節(jié)。取后面的4個(gè)字節(jié)為結(jié)果值。這樣可以省去5個(gè)時(shí)鐘。那這個(gè)SPI該用那個(gè)腳呢?
用SPI0還是空著的,可以用。經(jīng)測(cè)試SPI通訊正常,已經(jīng)可以將EN_START和FNT上測(cè)到4K和32768Hz的信號(hào),證明設(shè)置成功。后面正式開始測(cè)量了。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表