
介绍AT93C66B是一块大小为4096位串行电可擦除可编程只读存储器(Electrically Erasable and Programmable Read-Only Memory, EEPROM),该EEPROM通过片选(CS)引脚使能,并通过由数据输入(DI)、数据输出(DO)和串行数据时钟(SK)组成的三线串行接口访问。当 DI 接收到 READ 指令时,对地址进行解码,且数据在 DO 引脚上以串行的方式随时钟移出。写周期是完全自定时,且在写入之前,无需执行任何单独的擦除周期。只有在器件处于擦写使能状态下,才能使能写周期。当 CS 在启动写周期后被拉高时, DO 引脚输出器件的就绪/繁忙状态。特性• 低电压操作:– VCC = 1.7V 至 5.5V• 用户可选的内部结构:– 4 Kb: 512 x 8 或 256 x 16• 工业级温度范围: -40°C 至+85°C• 三线串行接口• 顺序读取操作• 2 MHz 时钟频率(5V)• 自定时写周期的最长时间为 5 ms• 高可靠性:– 耐用性: 1,000,000 个写周期– 数据保持: 100 年• 符合 RoHS 规范• 裸片销售选项:晶圆形式硬件AT93C66B引脚功能名称8 引脚 SOIC8 引脚 TSSOP8 焊盘 UDFN (1)8 引脚 VFBGA功能CS1111片选SK2222串行数据时钟DI3333串行数据输入DO4444串行数据输出GND5555地ORG6666内部结构未连接7777未连接VCC8888器件电源参考电路(5V供电)指令读写指令集指令SB操作码地址(X16)数据(X16)说明READ110A7-A0从指定地址的存储器中读取存储的数据。EWEN10011XXXXXXX写操作使能必须优先于所有编程模式。ERASE111A7-A0擦除存储单元 AN-A0WRITE101A7-A0D15-D0写入存储单元 AN-A0ERAL10010XXXXXXX擦除所有存储单元WRAL10001XXXXXXXD15-D0写入所有存储单元EWDS10000XXXXXXX禁止所有编程指令READ时序EWEN时序EWDS时序ERASE时序WRITE时序WRAL时序ERAL时序驱动初始化void AT93C66B_Init(void) { // Enable SSI3 and GPIO Port H peripherals SysCtlPeripheralEnable(AT93C66B_SPI_PERIPH); SysCtlPeripheralEnable(AT93C66B_GPIO_PERIPH); // Wait for peripherals to be ready volatile unsigned long i; for(i = 0; i 1000; i++) {} // Configure pin muxing for SSI3 functions on port H (DI, DO, SK only) // Note: CS (PH3) is NOT configured as SSI3FSS - we'll use it as GPIO GPIOPinConfigure(GPIO_PH0_SSI3TX); GPIOPinConfigure(GPIO_PH1_SSI3RX); GPIOPinConfigure(GPIO_PH2_SSI3CLK); // PH3 (CS) is NOT configured as SSI3FSS - we use it as manual GPIO // Configure the GPIO settings for the SSI pins (DI, DO, SK only) GPIOPinTypeSSI(AT93C66B_DI_PORT, AT93C66B_DI_PIN | AT93C66B_DO_PIN | AT93C66B_SK_PIN); // Configure CS pin (PH3) as GPIO output (manual control for Microwire protocol) // This must be done AFTER SSI pins are configured, and CS is NOT part of SSI GPIOPinTypeGPIOOutput(AT93C66B_CS_PORT, AT93C66B_CS_PIN); AT93C66B_CS_Low(); // Start with CS low (deselected) // Configure SEL pin as GPIO output (TMUX1248 control)