基于arm的sd模块开发(编辑修改稿)内容摘要:

本科毕业论文(设计) 6 图 SPI 总线配置 SD 模块的构成 图 SD 卡的实物图和引脚分布 表 SD 卡的引脚功能说明 针脚 名称 类型 描述 1 CD DAT3 I/O/PP 卡检测数据位 3 2 CMD PP 命令 /回复 3 Vss S 地 4 Vcc S 供电电压 5 CLK I 时钟 6 Css2 S 地 7 DAT0 I/O/PP 数据位 0 8 DAT1 I/O/PP 数据位 1 9 DAT2 I/O/PP 数据位 2 西安欧亚学院本科毕业论文(设计) 7 SD 卡的接口规范 ( 1) 容量 32MB4GB ( 2) 两个可选的通信协议: SD 模式和 SPI 模式 ( 3) 可变时钟 频率 025MHz ( 4) 通信电压和工作电压范围: ( 5) 低电压消耗:自动断电及自动睡醒,智能电源管理 ( 6) 无需额外编程电压 ( 7) 卡片带电插拔保护 ( 8) 兼容 MMC 卡 ( 9) 高速串行接口带随机存取 ( 10) 数据寿命: 10 万次编程 /擦除 ( 11) PIP 封装技术 ( 12) 尺寸: 24mm x 32mm x 图 SD 卡的硬件连接原理 表 SD 卡的 SPI 模式 针脚 名称 类型 描 述 1 CS I 片选 2 DI I 数据输入 3 Vss S 地 4 Vcc S 供电电压 5 CLK I 时钟 6 Vss2 S 地 7 DO O 数据输出 8 RSV 9 RSV 西安欧亚学院本科毕业论文(设计) 8 SPI 中断应用 LPC2020 系列 ARM SPI 接口具有中断功能,当传输完成或者发生模式错误时, SPI接口就会触发中断, SPI 接口中断与向量中断控制器( VIC)的关系如图 所示。 SPI 接口处于 VIC 的通道 10,中断使能寄存器 VICIntEnable 用来控制 VIC 通道的中断使能。 当 VICInEnable[10]=1 时,通道 10 中断使能,即: SPI 中断使能。 中断选择寄存器 VICintSelect 用来分配 VIC 通道的中断。 当某一位为 1 时,对应的通道中断分配为 FIQ;当某一位为 0 时,对应的通道中断分配为 IRQ。 VICintSelect[10]用来控制通道 10 图 SPI 中断示意图 看门狗的组成原理 看门狗的工作原理: 在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗 计数器就会溢出从而引起看门狗中断,造车系统复位。 所以在使用看门狗的时候要注意清看门狗。 一个输入,叫喂狗,一个输出到 MCU 的 RST 端, MCU 正常工作的时候们每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,就可能是程序跑飞时, WDT 定时超过,就会给出一个复位信号到 MCU,是 MCU复位。 防止 MCU死机,看门狗的作用就是防止程序发生死循环,或者说程序跑飞。 看门特的 特性 如果没有周期性重装,则产生片内复位 , 支持调试模式 , 有软件使能,但要求禁止硬件复位或看门后复位 /中断 , 错误 /不完整的喂狗时序会导致复位 /中断(如果使能) , 具有标志位以知识看门后复位 , 带内部预分频器的 32 位可编程定时器 可选择时间周期:( t*256*4) ~(t*2^32*4),可选值为 t(pclk)*4 的倍数。 西安欧亚学院本科毕业论文(设计) 9 表 看门狗包含的 4 个寄存器 名称 描述 访问 复位值 地址 WDMOD 看门狗模式寄存器 R/W 0 0XE000 0000 WDTC 看门狗定时器常数寄存器 R/W 0XFF 0XE000 0004 WDFEED 看门狗喂狗寄存器 WO NA 0XE000 0008 WDTV 看门狗定时器值寄存器 RO 0XFF 0XE000 000C 表 看门狗模式寄存器 位 位名称 描述 复位值 0 WDEN 看门狗中断使能(置位) 0 1 WDRESET 看门狗中断使能(置位) 0 2 WDTOF 看门狗超时标志 0 3 WDINT 看门狗中断标志 0 7:4 保留,用户软件不要向其写入 1,从保留为读出的值未定义 NA 表 看门狗的操作控制 WDEN WDRESET 操作 0 X 看门狗关闭时的调试操作 1 0 带看门狗中断的调试,但没有 WDRESET 1 1 带 看 门 狗 中 断 和WDRESET 的操作 西安欧亚学院本科毕业论文(设计) 10 图 看门狗结构方框图 12864 液晶 液晶屏幕型号为 HDG128641,该款液晶屏幕 采用 带中文字库液晶驱动控制芯片 ,数据传输方式为串行通信。 其引脚排列和各引脚功能见表 所示。 图 HDG128641 型液晶屏幕 图 12864 液晶接口电路设计 表 液晶引脚功能说明 1 /CS L 芯片选通端,低有效 2 /RES L 复位输入端,低有效 3 A0 H/L 命令数据选择端,高电平;数据,低电平,命令高电平 4 SCL H/L 串行模式时的时钟端 5 SI H/L 串行模式时的数据端 6 VDD 逻辑 电源输入端 7 VSS 0V 逻辑电源地 8 LED+ 背光电源输入端 西安欧亚学院本科毕业论文(设计) 11 图 液晶屏幕操作时序图 表 液晶行地址设置 AO E(/RD) RW(WR) D7 D6 D5 D4 D3 D2 D1 D0 setting 0 1 0 1 0 1 0 1 1 1 1 0 显示开 显示关 AO E(RD) RW(WR) D7 D6 D5 D4 D3 D2 D1 D0 行地址 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 2 ↓ ↓ ↓ ↓ ↓ ↓ ↓ 1 1 1 1 1 0 62 1 1 1 1 1 1 63 表 液晶页地址设置 AO E(RD) RW(WR) D7 D6 D5 D4 D3 D2 D1 D0 页地址 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 ↓ ↓ ↓ ↓ ↓ 0 1 1 1 7 1 0 0 0 8 西安欧亚学院本科毕业论文(设计) 12 表 液晶屏幕的背光设置 AO E(/RD) RW(/WR) D7 D6 D5 D4 D3 D2 D1 D0 Setting 0 1 0 1 0 1 0 1 1 1 1 显示开 0 1 0 1 0 1 0 1 1 1 0 显示关 3 程序设计 SPI 总线及其中断 流程图 图 SPI 总线数据传送的流程图 西安欧亚学院本科毕业论文(设计) 13 程序 main(void) { unsigned char n=3,j。 unsigned char *p。 p=display。 PINSEL0=0x00005500。 //(9:8=01)sck0 ,(11:10=01)miso0 //(13:12=01)mosi0, (15:14=01)sel0 PINSEL1=0x000002a9。 //(1:0=01)eint0,(3:2=10)sck1, //(5:4=10)miso1,(7:6=10)mosi1 //(9:8=10)ssel1, IO1SET=(led1|led2|led3|led4|led5|led6|led7|led8)。 IO1DIR=(led1|led2|led3|led4|led5|led6|led7|led8)。 ssp_initial()。 //ssp 初始化 spi_initial()。 //isp 初始化 IRQEnable()。 VICIntSelect=0x00000000。 VICVectCntl0=0x20|14。 //使能 spi0, VICVectAddr0=(uint32)read_from_spi。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。