数字电路与逻辑设计 课件 16-片上系统-总线_第1页
数字电路与逻辑设计 课件 16-片上系统-总线_第2页
数字电路与逻辑设计 课件 16-片上系统-总线_第3页
数字电路与逻辑设计 课件 16-片上系统-总线_第4页
数字电路与逻辑设计 课件 16-片上系统-总线_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

片上系统——总线片上微控制系统原理与项目设计第十六讲本章内容课程目标了解嵌入式系统并能够对其进行分析能够将微控制器与不同的设备连接起来请在插入菜单—页眉和页脚中修改此文本3系统总线微处理器与存储器和输入输出设备之间的交互通道地址总线(AddressBus,AB)n条线,即An-1,…,A0数据总线(DataBus,DB)m条线,即Dm-1,…,D0控制总线(ControlBus,CB)读使能线nRD(低电平有效)写使能线nWR(低电平有效)请在插入菜单—页眉和页脚中修改此文本4系统总线微处理器通过向地址总线输出所要访问的存储空间地址,并将控制总线中的读或写使能线置有效电平写操作时,由微处理器输出数据到数据总线上读操作时,由存储器或输入输出设备输出数据到数据总线上示例向地址为0x40的存储空间写入数据0x28时微处理器向地址总线输出40H微处理器向数据总线输出28H微处理器向nWR置低从地址为0x80的存储空间读取数据时微处理器向地址总线输出80H微处理器向nRD置低存储器或输入输出设备数据总线输出存储单元的值8H请在插入菜单—页眉和页脚中修改此文本5系统总线m位总线一次访问m位数据8位数据总线每次只能访问一个字节(D0-D7)16位数据总线每次可以访问两个字节(D0-D15)、其中的一个字节(D0-D7或D8-D15)控制总线需要增加专用信号来指明每个字节是否被选中nBS0选择D0-D7、nBS1选择D8-D1532位数据总线每次可以访问四个字节(D0-D31)、其中的一个字节(D0-D7或D8-D15或D16-D23或D24-D31)、其中的一个双字节(D0-D15或D16-D31)控制总线需要增加专用信号来指明每个字节是否被选中nBS0选择D0-D7、nBS1选择D8-D15、nBS2选择D16-D23、nBS3选择D24-D31。请在插入菜单—页眉和页脚中修改此文本6通信设备通过高低电平进行数据通信发送数据的设备称为发送器按照一定时间节拍输出一个电平至通信线上并保持至下一个节拍到达之前接收数据的设备称为接收器按同样的时间节拍将通信线上的电平锁存下来数据帧通信每次发送一定格式的多位数据统一的时钟及帧起始时刻和相同的数据格式相同的数据格式是由收发双方通过各自写入相同的参数来实现时钟及帧起始时刻则需要专门的信号控制线或控制信号来实现请在插入菜单—页眉和页脚中修改此文本7通信设备工作方式全双工(收发同时进行)收发两根传输线半双工(收时不发,发时不收)一根传输线单工(只能收或发)一根传输线通信结构点至点结构传输线只能连接两个设备总线结构传输线可以连接多个设备传输控制主从控制通信过程由一方来控制,另一方根据该方的指示进行收发操作对等控制通信双方独立进行收发操作。通信设备请在插入菜单—页眉和页脚中修改此文本8并行

每次传输一个字节(8位)的数据

更快,更容易串行

每次传输一个位

更便宜,非常适合通过电缆进行长距离传输并行串行的情况并行通信请在插入菜单—页眉和页脚中修改此文本9简单的单向并行端口I/O引脚被分组为8条线的单位(称为一个端口)端口被硬连接为输入或输出简单的数据寄存器不灵活请在插入菜单—页眉和页脚中修改此文本10简单的双向并行端口数据方向控制寄存器数据寄存器简单传输数据+1个控制信号(数据可用)

"开环“不能保证从机是否已读到数据接收器如何知道何时对数据进行采样?请在插入菜单—页眉和页脚中修改此文本11同步通信有独立的时钟信号线来同步发送器和接收器额外的数字I/O线可以扩展到完全握手同一时间只有一方产生时钟异步的同步化是数据的一部分数据携带头以同步接收器串行通讯请在插入菜单—页眉和页脚中修改此文本12串行通信协议是计算机、传感器、微控制器等设备之间用于通信的一系列规则和标准。这些协议通常定义了数据格式、传输速率、同步方式、错误检测方法等。UART(通用异步接收/发送器):UART是一种简单的点对点通信协议。它不要求通信的两端共享一个时钟信号,因此被称为“异步”通信。RS-232:RS-232是一种广泛使用的长距离串行通信协议,常用于计算机串行端口和外围设备间的连接。由-3至-25V代表1,+3至+25V代表0RS-485:RS-485是另一种串行通信标准,支持更长的通信距离和更高的传输速率,且可以在多点总线结构上实现网络连接。I²C(Inter-IntegratedCircuit):I²C是一种用于连接低速设备的多主机协议,如EEPROM、A/D和D/A转换器、微控制器等。它使用两条线:数据线(SDA)和时钟线(SCL)。SPI(串行外设接口):SPI是一种基于主从架构的高速协议,它使用单独的数据线来发送和接收数据(通常是MISO和MOSI),以及一个时钟线(SCK)。CAN(控制器局域网络):CAN协议常用于汽车和工业环境中,以实现多个微控制器之间的通信而无需宿主计算机。USB(通用串行总线):USB是一种用于计算机和电子设备的通用串行总线标准,它支持数据传输和电源供应。请在插入菜单—页眉和页脚中修改此文本13UART将数据的每个二进制位采用相应的电平(也称为码元)一位接一位地传输以帧为单位,多个码元顺序组合一个码元传输时长称为码元周期码元周期的倒数称为波特率数据帧结构起始位:一位逻辑0数据位:位数可设,0/1逻辑校验位:可选位,常用奇偶校验停止位:位数可选,逻辑1请在插入菜单—页眉和页脚中修改此文本14STM32F411系列微控制器(MCU)使用UART进行数据传输通过STM32CubeMX配置UART和GPIO引脚使用HAL库编写程序。初始化系统。初始化UART。发送数据。intmain(void){ HAL_Init();//1.初始化HAL库 SystemClock_Config();//2.配置系统时钟 MX_GPIO_Init();//3.初始化GPIO MX_USART2_UART_Init();//4.初始化UART while(1){//主循环 if(HAL_UART_Transmit(&huart2,(uint8_t*)transmitData,strlen(transmitData),10)!=HAL_OK)//5.发送数据 {//在这里处理错误} HAL_Delay(1000);//等待1秒}}请在插入菜单—页眉和页脚中修改此文本15波特率测量每秒钟的信号变化的次数每秒的比特数(bps)衡量每秒传输的比特数UART中,每个信号变化代表一个比特,所以波特率和每秒比特数是相等的典型的数据率是:300,600,1.2k,4.8k,9.6k,19.2k,38.4k,115.2k(bitspersecond)A9.6klinkwilltransferapprox.1000bytes/secondhuart2.Instance=USART2;huart2.Init.BaudRate=9600;huart2.Init.WordLength=UART_WORDLENGTH_8B;huart2.Init.StopBits=UART_STOPBITS_1;huart2.Init.Parity=UART_PARITY_NONE;huart2.Init.Mode=UART_MODE_TX_RX;huart2.Init.HwFlowCtl=UART_HWCONTROL_NONE;huart2.Init.OverSampling=UART_OVERSAMPLING_16;请在插入菜单—页眉和页脚中修改此文本16UART发送前检查发送数据寄存器是否准备好是则写入数据当发送移位寄存器将数据发送完成后,检查发送数据寄存器中是否还有待发数据若有,则将发送数据寄存器的数据锁存并启动下一次数据发送,与此同时置发送准备好标志否则,数据发送结束。请在插入菜单—页眉和页脚中修改此文本17UART接收方收到起始位后开始移位接收当接收完一帧时,接收移位寄存器将数据锁存至接收数据寄存器,并自动等待下一次接收当数据锁存到接收数据寄存器时,置接收准备好标志微处理器查询该标志,一旦接收数据寄存器中的数据被读出,自动清除接收准备好标志请在插入菜单—页眉和页脚中修改此文本18SPI由摩托罗拉公司(现为飞思卡尔)发起SPI是一种同步、串行、4线数据总线。可能的速率高达25Mbits/sec高速、全双工、同步通信总线工作模式主模式、从模式主设备、从设备,设备使用主/从关系进行通信,其中主设备启动数据帧的发送。只在主、从设备间进行四个信号SCLK由主设备产生,供双方的数据移位器进行移位操作MOSI为主设备的移位输出或从设备的移位输入MISO为主设备的移位输入或从设备的移位输出NSS为从站选择输入或主站产生的从站选择输出请在插入菜单—页眉和页脚中修改此文本19SPI四种传输模式参数取值作用CPHA0第1个边沿进行数据采样第2个边沿数据发送1第2个边沿进行数据采样第1个边沿数据发送CPOL0SCLK高电平为有效态1SCLK低电平为有效态请在插入菜单—页眉和页脚中修改此文本20应用LED矩阵制作一个系统来控制一个大型的LED设备矩阵(1000个)解决方案从单个数字输出线驱动LED适用于少量的LED晶体管驱动矩阵适用于100个以下的LED的廉价解决方案

网络连接特殊用途芯片SPI连接基于SPI的芯片,针对LED驱动市场每个芯片控制16个LED,芯片可以组成一个链25MHz的比特率可以轻松实现等等I2C双向二线制同步串行总线双向串行时钟线SCL双向串行数据线SDA格式固定一个字节,高位在前工作模式主模式、从模式设备主设备提供时钟,发起通信从设备接收指令,完成数据读写总线空闲时,SCL和SDL保持高电平请在插入菜单—页眉和页脚中修改此文本21ACKNACK从设备确认地址无从设备从设备接收完一个字节从设备无法接收或发送无法识别发送的数据或命令主设备通知从设备传输结束用一条串行数据(SDA)和一条时钟(SCL)线实现。使两个芯片之间的数据传输同步7位地址空间允许多达128个不同的从机地址真正的多主站能力双向数据传输半双工每个字节传输后会确认。对传输的字节数没有限制。请在插入菜单—页眉和页脚中修改此文本22I2C起始信号SCL为高电平而SDA由高到低的跳变结束信号SCL为高电平而SDA由低到高的跳变应答信号SDA发送低电平(ACK)或维持高电平(NACK)工作原理主设备发送起始位主设备发送7位从设备地址,1位读写方向,0主设备写入从设备,1主设备读取从设备从设备确认地址后续控制/数据字节传输与确认主设备发送结束信号,结束通信请在插入菜单—页眉和页脚中修改此文本2324ADC模拟信号变到二进制数据输入电压转化N位二进制数,共可以表示2N个电压最大电压值为VREF+最小电压值为VREF-二进制数m所对应的模拟电压值为mVREF+/2N多输入通道复用每次转换只选定某一输入通道请在插入菜单—页眉和页脚中修改此文本25请在插入菜单—页眉和页脚中修改此文本26ADC单次转换一次ADC转换完成就结束必须通过人工启动再进行下一次ADC连续转换一次转换后自动重启下一次转换非连续转换转换完成后自动启动下一次转换,达到规定的次数后结束单通道模式只对某个通道进行转换下一次转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论