《5嵌入式系统硬件设计基础.ppt》由会员分享,可在线阅读,更多相关《5嵌入式系统硬件设计基础.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统硬件设计基础嵌入式系统硬件设计基础 北京交通大学 国家电工电子教学基地q嵌入系统硬件结构嵌入系统硬件结构qSTR71x ARM处理器处理器q基于基于STR71x的基本系统的基本系统qST ARM 教学平台硬件结构教学平台硬件结构qSTR71x外设软件库的使用外设软件库的使用嵌入式系统嵌入式系统硬件基础硬件基础 北京交通大学 国家电工电子教学基地嵌入式系统的硬件结构嵌入式系统的硬件结构嵌入式系统体系结构框架嵌入式系统体系结构框架嵌入式嵌入式微处理器微处理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人机交互接口人机交互接口通用接口通用接口实时操作系统实时操作系统
2、(RTOS)RTOS)图形用户图形用户接口接口BSP/HAL BSP/HAL 板极支持包板极支持包/硬件抽象层硬件抽象层文件系统文件系统应用程序应用程序嵌入式系统嵌入式系统硬件层硬件层OSOS层层驱动层驱动层应用层应用层软件软件硬件硬件串口、并口、USB、以太网等LED、LCD、触摸屏、键盘等北京交通大学 国家电工电子教学基地嵌入式系统的硬件结构嵌入式系统的硬件结构模拟与数字量输出:模拟与数字量输出:DADA,电平转换,放大,电平转换,放大,功率驱动(继电器,功率驱动(继电器,电机等)电机等)与其他与其他MCU,PCMCU,PC等,等,I2C,232,485,USB,I2C,232,485,U
3、SB,网络,现场总线网络,现场总线键盘,选择开关,按键盘,选择开关,按钮,显示屏,钮,显示屏,LED,LED,LCDLCD,打印机打印机嵌入处理器嵌入处理器基本系统基本系统前向通道前向通道后向通道后向通道通信通信人机人机交互交互传感器电路,检测传感器电路,检测电路,信号调理、电路,信号调理、放大、滤波,放大、滤波,ADAD、比较器,波形整形比较器,波形整形北京交通大学 国家电工电子教学基地q嵌入系统硬件结构嵌入系统硬件结构qSTR71x ARM处理器处理器q基于基于STR71x的基本系统的基本系统qST ARM 教学平台硬件结构教学平台硬件结构qSTR71x外设软件库的使用外设软件库的使用嵌入
4、式系统嵌入式系统硬件基础硬件基础 北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器基于基于ARM7TDMIARM7TDMI内核的内核的RISCRISC微处理器系列微处理器系列,高性能、低功耗。高性能、低功耗。STR710X简介简介特色特色STR710FZSTR710FZSTR711FRSTR711FRSTR712FRSTR712FRSTR715FRSTR715FR1 12 20 01 12 20 01 12 20 0FLASHFLASH(KBytesKBytes)128+16128+16 256+16256+16 64+1664+16 128+16128+16256256+1
5、6+166464+16+16128128+16+1625256 6+16+1664+1664+16RAMRAM(KBytesKBytes)323264641616323264641616323264641616外外设设CAN,EMI,CAN,EMI,USB,48 I/OsUSB,48 I/OsUSB,30 I/OsUSB,30 I/OsCAN,32 I/OsCAN,32 I/Os32I/Os32I/Os工作工作电压电压3.0V3.0V3.6V(3.6V(内核的工作内核的工作电压电压:1.8V)1.8V)工作温度工作温度-40-40C C+85+85C C封装封装144引脚的引脚的BGA或或TQ
6、FP64引脚的引脚的BGA或或TQFP北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器q片内存片内存储器储器高达272K字节(256+16K)FLASH程序存储器(可重复擦写10万次,数据保持20年)高达64K字节RAM 外部存储器接口(External Memory Interface,EMI),支持高达4个SRAM,Flash,ROM 多种启动方式q时钟,复位及供电管理时钟,复位及供电管理 应用及I/O接口电压为3.3V嵌入式的1.8V内核电压控制器 0到16MHz外部主晶振,32KHz外部后备晶振为CPU时钟提供内部PLL 从flash执行时,CPU操作频率可高达50M
7、Hz 4种省电模式:SLOW,WAIT,STOP 及STANDBY模式STR710X简介简介北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器q内置中断控制器内置中断控制器 多向量的快速中断处理 32个中断向量,16个IRQ优先级 2个可屏蔽FIQ中断源q5个定时器个定时器 16位看门狗定时器(watchdog timer)4个16位定时器,每个均有以下功能:2个输入捕获,2个数出比较,PWM和脉冲计数模式q高达高达48个个I/O端口端口 30/32/48个多功能双向I/O口线 14个有中断功能的端口STR710X简介简介北京交通大学 国家电工电子教学基地STR71x ARM处
8、理器处理器q10个通信接口个通信接口2个I2C接口(1个与SPI复用)4个UART异步传输接口UART1上的Smart Card ISO7816-3接口2个BSPI同步传输接口CAN 接口(2.0B)USB v2.0全速(12Mbit/s)设备,支持(Suspend和Resume)HDLC同步通信接口q4通道通道12位位A/D转换器转换器 转换时间:4通道:高达500Hz(2ms)单通道:高达1kHz(1ms)转换范围:0到2.5VSTR710X简介简介北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR710X 功能框图功能框图APB2:通用的外设qARM7TDMI 16
9、/32位位RISC的微处理器的微处理器q内嵌内存内嵌内存Flash:256K字节+16K字节RAM:64K字节qEMI(TQFP144)EMI(TQFP144):支持多达:支持多达4 4个个bankbank的扩展的扩展SRAMSRAM和闪存和闪存q带低功耗模式的电源供给:带低功耗模式的电源供给:I/O:3.0V3.6VADC:0 V2.5V内核和外设:1.8Vq通过通过PRCCUPRCCU和和PLLPLL实现实现0 04848MHzMHz主频主频q2 APB2 APB桥:桥:APB1:通讯类外设JTAGPRCCUEMIFLASHRAMAPB2APB1ARM7 native busARM7TDM
10、ICPUADCEICTIM0TIM1TIM2TIM3RTCXTIWDGGPIO0GPIO1GPIO2APB busI2C0I2C1BSPI0BSPI1UART0UART1/SCUART2UART3USBCANHDLCAPB busSTR71xPRCCUEMIFLASHRAMAPB2APB1ARM7TDMICPU北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR710X APB总线总线APB 1APB 1APB 2APB 2将4K字节内存映射到外设和专用寄存器-1个HDLC-1个CAN-1个USB-4个UART-2个BSPI-2个IC-实时时钟-增强型中断控制器-1个12位
11、的AD转换器-4个16位定时器-看门狗-3个16位的通用I/O口-外部中断连接内部总线到外设为外设开启时钟JTAGPRCCUEMIFLASHRAMAPB2APB1ARM7 native busARM7TDMICPUADC12EICTIM0TIM1TIM2TIM3RTCXTIWDGGPIO0GPIO1GPIO2APB busI2C0I2C1BSPI0BSPI1UART0UART1/SCUART2UART3USBCANHDLCAPB busSTR71xADC12EICTIM0TIM1TIM2TIM3RTCXTIWDGGPIO0GPIO1GPIO2I2C0I2C1BSPI0BSPI1UART0UAR
12、T1/SCUART2UART3USBCANHDLC作用:作用:北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x的的封装和引脚分布封装和引脚分布北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x的的封装和引脚分布封装和引脚分布北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x的电源,时钟,复位,启动配置,调试端口,的电源,时钟,复位,启动配置,调试端口,USB端口端口保留,必须接地调试端口主时钟输入/输出实时钟时钟输入/输出待机、复位、启动模式输入USB接口信号线3.3V数字IO及PLL的电源和地模拟信号电源和
13、地1.8V备用电源和地1.8V电源滤波和地3.3V主电源接地3.3V主电源北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x的外部总线引脚的外部总线引脚数据总线D15:0读写控制片选信号地址总线A23:A0可以寻址16MB x 4北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x的的GPIO引脚引脚(与专用与专用IO复用引脚复用引脚)P2端口P2.15-P2.0P2端口P2.15-P2.0P1端口P1.15-P1.0P0端口P0.15-P0.0专用专用IO引脚对应于引脚对应于STR71x的片上外设的片上外设北京交通大学 国家电工电子教学基
14、地STR71x ARM处理器处理器STR71x 存储器映射存储器映射4GB线性地址空间北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x 外部存储器映射外部存储器映射BCONx用来控制Bankx的数据宽度,读写等待参数FlashRAMIOCS8900北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x 片上外设地址映射片上外设地址映射APB1:通讯类外设北京交通大学 国家电工电子教学基地STR71x ARM处理器处理器STR71x 片上外设地址映射片上外设地址映射APB2:通用外设北京交通大学 国家电工电子教学基地STR71x ARM处理器
15、处理器STR71FZ启动模式启动模式启动模式启动模式可将RAM、闪存或扩展内存映射到地址0 x0通过BOOTEN、BOOT0和BOOT1的引脚决定ENBT0BT1地址地址00XXFLASH100FLASH110保留保留101RAM111EXTMEM内存重新映射内存重新映射内存重新映射可以通过软件修改BOOTCR寄存器的boot位来实现北京交通大学 国家电工电子教学基地q嵌入系统硬件结构嵌入系统硬件结构qSTR71x ARM处理器处理器q基于基于STR71x的基本系统的基本系统qST ARM 教学平台硬件结构教学平台硬件结构qSTR71x外设软件库的使用外设软件库的使用嵌入式系统嵌入式系统硬件基
16、础硬件基础 北京交通大学 国家电工电子教学基地基于基于STR71x的基本系统的基本系统ARM芯片STR710F2最小系统构成最小系统构成电源电路3.3V时钟电路JTAG接口复位电路存储器(程序,数据)北京交通大学 国家电工电子教学基地基于基于STR71x的基本系统的基本系统qSTR71x+STR71x+电源电路电源电路 +晶振电路晶振电路 +复位电路复位电路 +JTAGJTAG接口电路接口电路 可构成最小系统可构成最小系统q程序可运行于程序可运行于STR71xSTR71x内部的内部的256KB Flash+64KB 256KB Flash+64KB RAMRAM中中q可以采用无外总线的芯片构成
17、单片系统可以采用无外总线的芯片构成单片系统STR711FR(USB)STR711FR(USB),STR712FR(CAN)STR712FR(CAN)STR71x最小系统最小系统北京交通大学 国家电工电子教学基地基于基于STR71x的基本系统的基本系统MCLK北京交通大学 国家电工电子教学基地S3C44B0X的存储器配置的存储器配置16位宽位宽Flash存储器存储器外接存储器总线连接方式外接存储器总线连接方式A20A19nCS0 nRD SST公司的39VF16011M1616Mbit外部存储器Bank0nCS0:0 x60000000北京交通大学 国家电工电子教学基地S3C44B0X的存储器配
18、置的存储器配置16位宽位宽SRAM存储器存储器A17A16A18A17nCS0 nRD ISSI公司IS61LV25616AL256K16外部存储器Bank1nCS1:0 x62000000外接存储器总线连接方式外接存储器总线连接方式北京交通大学 国家电工电子教学基地q嵌入系统硬件结构嵌入系统硬件结构qSTR71x ARM处理器处理器q基于基于STR71x的基本系统的基本系统qST ARM 教学平台硬件结构教学平台硬件结构qSTR71x外设软件库的使用外设软件库的使用嵌入式系统嵌入式系统硬件基础硬件基础 北京交通大学 国家电工电子教学基地ST ARM 教学平台硬件结构教学平台硬件结构ARM芯片
19、STR710F2电源,时钟,复位,JTAGLED发光管6位数码管以太网接口驱动电路Flash,SRAMUSB接口232接口x2CAN总线接口LCD显示模块I2C温度传感器CF Card接口4x4矩阵键盘启动方式开关中断,复位按钮译码和控制CPLDADC模拟输入ST ARM 教学平台硬件资源教学平台硬件资源北京交通大学 国家电工电子教学基地ST ARM 教学平台硬件结构教学平台硬件结构ST ARM 教学平台硬件地址映射教学平台硬件地址映射区段区段起始地址起始地址长度长度说明说明片内片内SRAMSRAM0 x2000 00000 x2000 00000 x1 00000 x1 000064KB=1
20、6K x 32b64KB=16K x 32b片内片内FlashFlash0 x4000 00000 x4000 00000 x4 00000 x4 0000256KB=64K x 32b256KB=64K x 32b片外片外Bank0Bank00 x6000 00000 x6000 00000 x20 00000 x20 00002MB=1Mx16b 2MB=1Mx16b 线性线性FlashFlash片外片外Bank1Bank10 x6200 00000 x6200 00000 x08 00000 x08 0000512KB=256K x 16b SRAM512KB=256K x 16b SR
21、AM片外片外Bank2Bank20 x6400 00000 x6400 00001616个地址个地址x2kx2k间隔,间隔,CS8900 CS8900 网络接口网络接口片外片外Bank3Bank30 x660E 00000 x660E 00008 8个个1616位地址,位地址,CFCF卡读写卡读写0 x66FD 00000 x66FD 00000 x66FD 80000 x66FD 8000LCDLCD数据输出,数据输出,1616位位LCDLCD命令输出,命令输出,1616位位0 x66FE 80000 x66FE 8000键盘扫描码输出,键盘扫描码输出,8 8位位0 x660F 00000
22、x660F 00000 x660F 80000 x660F 8000LEDLED数码管位地址输出,数码管位地址输出,8 8位,写位,写1 1点亮点亮LEDLED数码管段编码输出,数码管段编码输出,8 8位,写位,写0 0点亮点亮北京交通大学 国家电工电子教学基地q嵌入系统硬件结构嵌入系统硬件结构qSTR71x ARM处理器处理器q基于基于STR71x的基本系统的基本系统qST ARM 教学平台硬件结构教学平台硬件结构qSTR71x外设软件库的使用外设软件库的使用嵌入式系统嵌入式系统硬件基础硬件基础 北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软
23、件库外设软件库n包含了描述每个外设特征的数据结构、宏定义,以及访问这些外设需要的底层驱动函数。每一个片上外设,对应一个头文件.h和C语言函数文件n由于STR71x的外设及其控制寄存器都是存储器映射的,用C语言可以方便地描述和访问。n为应用项目提供了一种标准的模版。外设外设1 1外外设设 n外设外设 i i驱动驱动 n函数函数 1 1函数函数 2 2函数函数 k k驱动驱动1 1函数函数 1 1函数函数 2 2函数函数 m m接口接口开发人员应用开发人员应用硬件层硬件层软件层软件层应用层应用层北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软件库外设
24、软件库使用软件库的好处:方便读写外设的函数习惯的命名一致性使得维护更加容易减少了新的的应用开发的时间外设外设1 1外外设设 n外设外设 i i驱动驱动 n函数函数 1 1函数函数 2 2函数函数 k k驱动驱动1 1函数函数 1 1函数函数 2 2函数函数 m m接口接口开发人员应用开发人员应用硬件层硬件层软件层软件层应用层应用层北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软件库外设软件库模块及其对应的文件(模块及其对应的文件(.c.h)JTAGPRCCUEMIFLASHRAMAPB2APB1ARM7 native busARM7TDMICPU
25、ADC12EICTIM0TIM1TIM2TIM3RTCXTIWDGGPIO0GPIO1GPIO2APB busI2C0I2C1BSPI0BSPI1UART0UART1/SCUART2UART3USBCANHDLCAPB busSTR71x北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软件库外设软件库的结构的结构ppp.c和ppp.h对应一种外设,例如gpio.h和gpio.h箭头表示包含关系(在文件中包含的头文件)由用户确定和实现北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软件库外设软件库结构结构
26、用户应用的源代码外设的寄存器地址应用层应用层软件层软件层gpio.cgpio.cgpioXgpioX硬件层硬件层gpio.hgpio.h 71x_map.h 71x_map.h 71x_lib.c 71x_lib.c 71x_type.h 71x_type.h 71x_lib.h 71x_lib.h 71x_it.h 71x_it.h 71x_conf.h71x_conf.h 71x_it.c71x_it.c application.capplication.c 71x_init.s71x_init.s:初始化各个模式并跳转到main主函数71x_vect.s71x_vect.s:其他的向量表
27、retarget.cretarget.c:retarget层scat.scfscat.scf:为Linker设定内存映射外设指针的初始化共用变量类型和常数外设的函数头文件外设的驱动源代码全局的头文件(所有的)中断函数的的头文件中断函数的源代码设置文件北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用STR71x外设软件库外设软件库结构结构不采用软件库的程序项目采用了软件库的程序项目common str71x include 71x_type.h 71x_map.h 71x_lib.h 71x_it.h adc12.h source 71x_init.s 71x_ve
28、ct.s 71x_lib.c adc12.c LED 71x_conf.h 71x_it.c led.mcp Main.c Ledkey.h Ledkey.c LED_Data DebugRel Release 北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用软件库的使用例程软件库的使用例程q公共的文件必须拷贝到工作的目录里公共的文件必须拷贝到工作的目录里q使用某个外设:使用某个外设:PPPx项目需要使用的源文件:“ppp.c”和“includeppp.h”编辑71x_conf.h文件,设定如下:#define _PPP(必须的)#define _PPPx(可选的
29、,根据外设决定)q如果用户希望调试功能,必须在如果用户希望调试功能,必须在71x_conf.h文件中文件中定义定义DEBUG:#define DEBUGq在用户的应用程序中需包含下列内容:在用户的应用程序中需包含下列内容:#include“71x_lib.h”北京交通大学 国家电工电子教学基地STR71x外设软件库的使用外设软件库的使用软件库的使用例程软件库的使用例程q71x_conf.h#define DEBUG#define _GPIO /*include gpio.h file*/#define _GPIO0/*use GPIO0 peripheral*/u71x_map.h71x_ma
30、p.htypedeftypedef volatile volatile structstruct u16 PC0;u16 EMPTY1;u16 PC0;u16 EMPTY1;u16 PC1;u16 EMPTY2;u16 PC1;u16 EMPTY2;u16 PC2;u16 EMPTY3;u16 PC2;u16 EMPTY3;u16 PD;u16 PD;GPIO_TypeDefGPIO_TypeDef;#define GPIO0_BASE(APB2_BASE+0 x3000)#define GPIO0_BASE(APB2_BASE+0 x3000)#ifdefifdef DEBUG DEBUG#
31、ifdefifdef _GPIO0 _GPIO0 EXT EXT GPIO_TypeDefGPIO_TypeDef*GPIO0;*GPIO0;#endifendif/*_GPIO0*/*_GPIO0*/#else /*NON DEBUG*/#else /*NON DEBUG*/#define GPIO0(#define GPIO0(GPIO_TypeDefGPIO_TypeDef *)GPIO0_BASE)*)GPIO0_BASE)#endifendif/*DEBUG*/*DEBUG*/u71x_lib.h71x_lib.h#include 71x_type.h#include 71x_typ
32、e.h#include 71x_conf.h#include 71x_conf.h#include 71x_map.h#include 71x_map.h#ifdefifdef _GPIO _GPIO#include#include gpio.hgpio.h#endifendifumain.cmain.c#include 71x_lib.h#include 71x_lib.hintint main main#ifdefifdef DEBUG DEBUG debug();debug();#endifendifGPIO_ConfigGPIO_Config(GPIO0,0 xFFFF,GPIO_OU
33、T_PP);(GPIO0,0 xFFFF,GPIO_OUT_PP);/main program/main program 用户根据需求进行修改用户根据需求进行修改不可修改此文件不可修改此文件不可修改此文件不可修改此文件用户的文件用户的文件仅仅包含71x_lib.h在DEBUG模式下,初始化外设的指针。非非DEBUGDEBUG模式下使用的模式下使用的外设的定义外设的定义在在DEBUGDEBUG模式下外设的结构指针模式下外设的结构指针在在71x_conf.h71x_conf.h定义定义_GPIO_GPIO,可将,可将gpio.hgpio.h加入用户的项目中加入用户的项目中北京交通大学 国家电工电子教学基地END北京交通大学 国家电工电子教学基地