<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天內不再提示

3線串行數據通訊EEPROM的使用

CHANBAEK ? 來源:羊羊課代表 ? 作者: Dingdong ? 2023-10-23 17:08 ? 次閱讀

EEPROM(帶電可擦可編程只讀存儲器)是用戶可更改的只讀存儲器,可通過高于普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機中取出即可修改。在一個EEPROM中,當計算機在使用的時候可頻繁地反復編程,因此EEPROM的壽命是一個很重要的設計考慮參數。EEPROM是一種特殊形式的閃存,其應用通常是個人電腦中的電壓來擦寫和重編程 。-(來自百度)

該芯片特性(AT93C46):

1、高速操作,最大速度3MHZ的讀寫操作。

2、1KB的存儲空間。

3、寬電壓輸入(1.8V-6V)。

4、可通過ORG(6腳)來選擇8位-16位數據流

5、上電寫保護功能

6、1百萬個編程周期

7、100年的數據保存壽命

01引腳連接及時序

管腳名稱功能
CS(1)芯片片選信號(高電平有效)
SK(2)數據傳輸的時鐘信號
DI(3)串行數據輸入
DO(4)串行數據輸入
GND(5)電源
ORG(6)數據位選擇(GND:8Bit數據流 VCC:16位數據流)
NC(7)空腳
VCC(8)+1.8V-6V電壓

內部結構:

圖片

MCUSTM32F03

連接方式如圖:

圖片

C93_CS->CS

C93_SCK->SCK

C93-DI->DI

C93_DO->DO(引腳配置為輸入模式)

除DO引腳配置為輸入模式外,其余引腳均配置為輸出模式。

時序圖:

寫時序:

圖片

讀時序:

圖片

寫保護使能(Disable):

圖片

去寫保護:(Enable)

圖片

另外還有幾條指令我們需要知道的

圖片

寫入的數據包含1位開始位兩位操作位及地址位。

02編程方法操作

因為擦除等指令需要4.5V上的電壓這里提供不了,所以并沒有使用,但是寫入數據的時候會自動覆蓋原先數據,所以不用擔心

其代碼如下:

/****************************************/
/*****AT93C46 EEPROM 驅動 8Bit數據流 ****/
/****************************************/
//2021.09.03 羊羊課代表By DDY
//讀取及寫入需要存在一定時間間隔,請注意。
void Start_Bit()//寫入開始位
{
  AT93C_CS_L;
  AT93C_CLK_L;


  AT93C_DI_H; //待寫入1
  AT93C_CS_H;//選中芯片

  AT93C_CLK_H;
  AT93C_CLK_L;//給時鐘信號

  AT93C_DI_L;//置位引腳
}


void AT93_Clock()//時鐘信號
{
  AT93C_CLK_H;
  HAL_Delay(1);
  AT93C_CLK_L;  
}


void AT93_Send_9_Dat(uint16_t Data)
{
  for(uint8_t i=0;i< 9;i++)//加上面的開始位
  {                       //送進的格式為1 01XXXXXXX 指令加地址
    if(Data&(0x100 >>i))
      AT93C_DI_H;
    else AT93C_DI_L;

    AT93_Clock();
  }    
}


void AT93C_Enable(uint8_t Bit)
{
  uint8_t Temp=0;

  if(Bit) Temp=0x98;//Enable寫使能
  else Temp=0x80; //Disable寫禁使能

  AT93C_CS_L;//引腳電平重置
  AT93C_CLK_L;//引腳電平重置

  AT93C_CS_H;//選中芯片

  for(uint8_t i=0;i< 10;i++)//發送10位指令
  {
    if(Temp&0x80 >>i)
    AT93C_DI_H ;
    else AT93C_DI_L;

    AT93_Clock();
  }

  AT93C_CS_L;//置低降低功耗
  AT93C_DI_L;
}


void AT93C_Write(uint8_t Addr,uint8_t Data)
{
  AT93C_Enable(1);//寫使能



  Addr|=0x80;//數據變為1XXXXXXX
  Start_Bit();  //寫一個開始位

  AT93_Send_9_Dat(Addr);

  AT93C_DI_L;
  for(uint8_t i=0;i< 8;i++) //送進8Bit數據
  {

    if(Data&(0x80 >>i))
      AT93C_DI_H;
    else AT93C_DI_L;

    AT93_Clock();
  }
  AT93C_CS_L;//置低降低功耗

  AT93C_Enable(0);  //禁寫使能
}


uint8_t AT93C_Read(uint8_t Addr)//讀該地址的8Bit數據
{
  uint8_t Data=0;
  AT93C_Enable(1);

  Start_Bit();


  AT93_Send_9_Dat((0x7f&Addr)|0x100);//數據變成10XXXXXXX;
  AT93_Clock();

  for(uint8_t i=0;i< 8;i++)//接收8位數據
  {
    if(AT93C_ReadDO)
    {
      Data|=0x80 >>i;
    }
    AT93_Clock();
  }

  AT93C_CS_L;//置低降低功耗
  AT93C_Enable(0);

  return Data;
}


//extern char str[20];
//void Test()
//{
//  temp=AT93_Read(0x01);


//  sprintf(str,"%03d",temp);
//  OLED_Show_Str(96,0,str,Font8x16,0);
//  Updata_OLED();
//  HAL_Delay(100);
//  temp+=1;
//  AT93C_Write(0x01,temp);  
//}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    447

    文章

    48292

    瀏覽量

    411499
  • 閃存
    +關注

    關注

    16

    文章

    1699

    瀏覽量

    114327
  • 存儲器
    +關注

    關注

    38

    文章

    7212

    瀏覽量

    162394
  • 計算機
    +關注

    關注

    19

    文章

    6757

    瀏覽量

    85322
  • EEPROM
    +關注

    關注

    9

    文章

    930

    瀏覽量

    80626
收藏 人收藏

    評論

    相關推薦

    labview 實時機與上位機之間的數據通訊

    labview中 實時機與上位機之間的數據通訊大家都是如何處理的?對采集的數據和控制數據怎樣分配的?
    發表于 04-02 09:34

    遠程醫療的數據通訊分析

    只能通過cable或者WIFI和遠程終端進行數據交換,智能手機有著普及性和便攜性絕對優勢成為數據通訊的載體。智能手機和遠程終端的數據交換通過GPRS(3G,4G)或者WIFI,那智能手
    發表于 09-12 13:05

    labview串口數據通訊的好例子,智能小車避障

    一個智能小車的避障監控界面,串口數據通訊,非常適合初期的學習
    發表于 04-02 19:00

    LabVIEW通過網口與安川控制器MP2300s進行數據通訊?

    各位大神,本人想編寫個labview程序,通過與安川控制器通訊,以達到控制電機的目的,基本程序已經在MPE720軟件中編寫好了,只需要進行簡單的數據通訊即可。本人在通訊這方面小白一個,求賜教??!不勝感激??!
    發表于 07-07 16:01

    智能網關IGT-DSER是如何實現PLC與數據庫之間的數據通訊的?

    IGT-DSER帶有哪幾種數據緩存功能?智能網關IGT-DSER是如何實現PLC與數據庫之間的數據通訊的?
    發表于 07-02 06:04

    計算機之間的基本數據通訊方式有哪些

    鍵盤中CPU將鍵盤按鍵信息處理完后,通過USB-HID的通訊方式上傳計算機的CPU。這樣子的處理方式計算機(主控)CPU任務處理,更有利于設備更換(不至于鍵盤壞了,需要換一臺計算機)。計算機之間的基本數據通訊方式有并行通訊
    發表于 02-23 06:50

    基于CANopen協議的車載平臺數據通訊系統

    在分析CANopen 協議結構和特點的基礎上,著重給出了用CANopen 協議開發車載平臺數據通訊系統的方法,其中包括CAN 控制器的硬件接口設計和DLL 模塊、對象字典、應用程序等軟件部分
    發表于 07-07 14:59 ?25次下載

    井下供電自動化系統數據通訊電路的研究與設計

    井下供電自動化系統數據通訊電路的研究與設計 根據煤礦供電系統結構特點及功能要求,開發研制出基于微機技術的井下供電自動化系統數據通訊電路。該電路由監控終端
    發表于 10-11 17:35 ?13次下載

    基于USB接口的超聲檢測數據通訊

    為滿足超聲C 掃描系統對數據傳輸的要求,根據USB 接口芯片CH372 的工作原理,設計了單片機端的硬件和固件程序以及上位機的軟件,實現了基于USB 接口的超聲檢測數據通訊模塊。實驗結
    發表于 05-12 18:02 ?69次下載
    基于USB接口的超聲檢測<b class='flag-5'>數據通訊</b>

    PLC與NC間的實時數據通訊

    本文介紹了 RS232 在沖壓開卷線中的應用,并從原理上分析了RS232在PLC與NC間實現串行數據通訊的方法
    發表于 07-22 18:01 ?55次下載
    PLC與NC間的實時<b class='flag-5'>數據通訊</b>

    基于DSP與PC間的數據通訊

    基于DSP與PC間的數據通訊
    發表于 10-20 10:13 ?3次下載
    基于DSP與PC間的<b class='flag-5'>數據通訊</b>

    應該了解300 CPU MPI全局數據通訊組態的方法

    。在一個MPI通訊網絡中,最多能組態4臺300CPU之間的數據交換。 MPI全局數據通訊采用廣播方式進行數據交換,不需要對全局數據進行編程,
    發表于 04-17 17:04 ?2582次閱讀
    應該了解300 CPU MPI全局<b class='flag-5'>數據通訊</b>組態的方法

    如何在STM32中要實現數據通訊

    z在stm32中要實現數據通訊,首先要設置相關的寄存器,這里不做相關的介紹,直接說代碼相關的能內容及相關函數對應的用法。
    的頭像 發表于 03-02 08:56 ?1984次閱讀
    如何在STM32中要實現<b class='flag-5'>數據通訊</b>

    安科瑞帶防逆流功能的數據通訊網關

    AWT200 數據通訊網關應用于各種終端設備的數據采集與數據分析。用于實現設備的監測、控制、計算,為系統與設備之間建立通訊紐帶,實現雙向的數據通訊
    的頭像 發表于 09-11 16:30 ?336次閱讀
    安科瑞帶防逆流功能的<b class='flag-5'>數據通訊</b>網關

    淺談光伏電站數據通訊管理機的設計與應用

    淺談光伏電站數據通訊管理機的設計與應用 張穎姣 江蘇安科瑞電器制造有限公司江蘇江陰214405 摘要 :設計了一種分布式光伏電站數據通訊管理機,包括硬件系統和軟件系統.硬件系統基于ARM嵌入式處理器
    的頭像 發表于 03-14 10:23 ?162次閱讀
    淺談光伏電站<b class='flag-5'>數據通訊</b>管理機的設計與應用
    亚洲欧美日韩精品久久_久久精品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>