基于AVR单片机的ISP设计

发布者:TP9111最新更新时间:2011-10-17 关键字:AVR单片机  ISP设计 手机看文章 扫描二维码
随时随地手机看文章

0 引言
    随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。


1 ISP1362芯片的内部结构
    Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制器一主机控制器、设备控制器和OTG控制器。其中,主机控制器具备高度优化的USB主机功能;设备控制器则具有多达14个可编程端点,又可以被配置成双缓冲端点进一步提高吞吐量:而OTG控制器主要提供包括监控和转换功能在内的所有OTG控制。ISP1362内部构造如图1所示。

2 USB OTG主/从机系统设计
    USB OTG主/从机系统设计包括硬件设计和软件设计两大模块。其中硬件电路主要是USB接口电路板的设计;软件设计包括设备初始化、系统的功能设计、设备驱动程序设计等,下面分别介绍系统软、硬件系统的设计方法。
2.1 系统硬件电路设计
    USB OTG主/从机设计的硬件电路如图2所示,图中ATmega 32的PD口和IPA口用于控制ISP1362的时序,PB口和PC口则用于与ISP1362的D[0..15]进行数据交换。ISP1362芯片有Port1和IPort2两个USB接口。Port1是个综合接口,可以配置成downstream、upstream或者是OTG;Port2是作为固定的downstream,主要接一般的USB设备。当ISP1362做主机时,主机内部的寄存器通过检测其相应状态寄存器的值就可以判断是Port1还是Port2接了设备,从而进行相应的处理。

 ISP1362的Port1口主/从机功能通过ID、OTGMODE两引脚电平的高低组合来确定。当OTGMODE引脚接低,无论ID电平如何,则芯片的Port1口只能OTG用;如果OTGMODE接高,ID接低,芯片的Port1口作主机使用;OTGMODE接高,ID也接高时,则芯片的Port1口作外设使用。在电路中通过15kΩ的上拉电阻和下拉电阻实现ID、OTGMODE两引脚电平的高低变化。


2.2 系统软件设计
    本设计的主机系统是一个软件和硬件的集合体,功能的实现不依赖于任何操作系统,而是通过中断来调度各个任务,使之满足USB通信的要求,因此系统是按照协议规范和特定的时序运行的。
    本系统是ISP1362工作于主/从机模式下的应用,按系统硬件电路配置完成接口芯片,然后对其编程,就可以进行USB数据传输。系统工作流程如下:首先进行系统初始化,构建PTD传输描述符,接着总线枚举过程,给外设分配地址,获取外设的基本信息,并判断外设为主机设备或是从机设备,之后驱动相应的主/从机驱动程序运行,数据传送和接收,根据总线的活动情况判断是否挂起。系统流程图如图3所示:

    实现ISP1362芯片的软件编程控制,就是对该芯片的CS、RD、WR、A0、A1引脚的控制。本文中CS代表片选,低电平有效;RD代表读信号,低电平有效;WR代表写信号,低电平有效;A0引脚电平的高低不同,分别表示传输的信号代表的是命令信号还是数据信号;A1引脚电平的高低不同,分别表示控制的是外设还是主机。通过上述几个引脚信号的组合,可以实现读写控制ISP1362的不同功能。除此之外,以下的几个引脚对于控制ISP1362也有重大意义:DREQ1引脚代表DMA请求输出,当它高电平有效时,通知IDMA控制器主机正在请求数据传送;DREQ2引脚高电平有效时,通知DMA控制器外设正在请求数据传送;DACK1引脚代表DMA确认输入,低电平有效时表明来自主机的DMA传输请求已经被DMA控制器确认;DACK2引脚低电平有效时表明来自外设的DMA传输请求已经被DMA控制器确认;INT1和INT2引脚连接到外部微处理器的IRQ引脚,使得ISP1362可以根据请求执行中断服务程序。

关键字:AVR单片机  ISP设计 引用地址:基于AVR单片机的ISP设计

上一篇:爱特梅尔发布用于汽车密匙应用带防盗器超低功率AES-128 AVR微控制器
下一篇:基于μCOS-Ⅱ系统的智能寻迹模型车的设计与实现

推荐阅读最新更新时间:2024-03-16 12:43

实现AVR单片机芯片程序自刷 USB_Flash_BootLoader HID制作过程
前期制作USBASP过程中,学习了AVR单片机芯片的BootLoader原理,查找了很多关于USB-HID和BootLoader的资料制作了可以自刷程序的atmega8(16)简易板,现将所学的分享给大家。 一、关于BootLoader BootLoader是芯片上电后,程序不从flash地址的0x00执行,而是跳转到boot区执行bootloader程序。 atmega8的boot区的大小及起始位置是由其熔丝位来设置(BOOTSZ0、BOOTSZ1)的。 其是否执行bootloader程序也是由熔丝位(BOOTRST)设置的。 二、关于USB-HID HID是人体学输入设备的英文简称,由于
[单片机]
实现<font color='red'>AVR单片机</font>芯片程序自刷 USB_Flash_BootLoader HID制作过程
AVR单片机串口的波特率设置
公司有一款产品要实现通过串口更新开机画面的功能。产品用的是AVR的ATmega8单片机,配有两个通用同步和异步串行接收器和转发器(USART) 。在芯片的数据文档里给出了波特率寄存器UBRR的值的计算公式。 可是实际测试才发现,就算出的值根本不能用。也就是说,用算出的值发出的波特率根本不是想要的波特率。百思不得其解,只好上网搜搜看有没有收获。果然,网上有个仁兄的症状和我一样,也是波特率不对。看了后面的回答,觉得有一个挺靠谱的,大概是说,在用了AVR的内部RC振荡器的情况下,实际波特率会和计算值有偏差。因为芯片的内部RC振荡器频率不像外部晶振的频率那么稳定。 在不增加外部晶振的情况下,如何解决问题呢?在网没有找到什么方法,只好
[单片机]
AVR单片机对挖掘机器人的控制设计
引言 挖掘机的出现使人类从繁重的体力劳动中解脱出来,然而传统的挖掘机操作复杂,对操作者的技能要求很高。人们一直谋求更省力、更高效率和更能实现精确轨迹的挖掘作业模式。随着微电子技术的进一步发展,集成电路的集成度和性能提高、价格下降,以微处理器为基础,实现挖掘机的机电一体化、机器人化、智能化进程,已经成为工程项目施工管理的一个重要研究课题与发展方向。本文以挖掘机器人为例,设计一种基于AVR单片机的挖掘机器人控制系统。 1 总体方案设计 挖掘机器人由挖掘机器人本体机械系统、红外传感器组成的传感器系统、直流电机驱动系统、以AVR单片机为核心的控制系统等四部分组成,其基本结构如图1所示。 图1 挖掘机器人的基本结构 挖掘机器人的
[单片机]
<font color='red'>AVR单片机</font>对挖掘机器人的控制<font color='red'>设计</font>
AVR单片机教程——定时器中断
本文隶属于AVR单片机教程系列。 中断,是单片机的精华。 中断基础 当一个事件发生时,CPU会停止当前执行的代码,转而处理这个事件,这就是一个中断。触发中断的事件成为中断源,处理事件的函数称为中断服务程序(ISR)。 中断在单片机开发中有着举足轻重的地位——没有中断,很多功能就无法实现。比如,在程序干别的事时接受UART总线上的输入,而uart_scan_char等函数只会接收调用该函数后的输入,先前的则会被忽略。利用中断,我们可以在每次接受到一个字节输入时把数据存放到缓冲区中,程序可以从缓冲区中读取已经接收的数据。 AVR单片机支持多种中断,包括外部引脚中断、定时器中断、总线中断等。每一个中断被触发时,通过中断向
[单片机]
avr单片机流水灯的程序
/******************************************************************************/ /*【编写时间】: 2011.07.07 * 【作 者】: 雁翎电子 * 【版 本】: V1.0 * 【编译环境】: ICCAVR * 【函数功能】: 流水灯实验 * 【晶 振】: 8M * 【芯 片】: ATMEGA16A * 【硬件连接】: J1短路帽接上 /******************************************************************************/ #d
[单片机]
AVR单片机用于电源管理系统的研究
简介:本文设计了一套UAV 电源管理系统, 该系统具有自动控制充放电管理, 实时监测电池电压等功能。该系统已经经过调试和试验验证了其可行性, 但是为了保证飞机安全, 还要做更多的试验以保证无人机自主飞行的安全和稳定。除此之外, 高低频滤波, 电池电量预测等也是重要的方向, 需要深入的研究。 由于在民用及国防等诸多领域中的广泛应用, 空中机器人技术已经越来越被人们所重视, 并吸引了各国专家学者的注意。小型旋翼机器人是以模型直升机为载体, 装备上传感器单元, 控制单元和伺服机构等装置以实现自主飞行。而为了提高飞机的安全性, 需要设计一套设备监测系统, 实时的监测飞机的姿态信息, 机载设备的状况以及电源的情况等。 该平台所使用的
[单片机]
<font color='red'>AVR单片机</font>用于电源管理系统的研究
AVR单片机红外解码程序
在网络上基本上没有avr的红外遥控解码函数,有的也不是ICC的。为了大家的需要,我特地把自己项目需要的红外解码函数发上博客,希望对需要的人有所帮助。本解码方法是伟纳电子51单片机的解码方法,算是移植吧,应用的是扫描方式,需要的可以加上外中断,用中断方式反应会更快,更实时。本解码程序的关键在于延时函数,如果要移植到别的单片机或别的晶振时,一定要把延时调好。 头文件: /****************************************** * 程序名称: 遥控接收程序 * 程序功能: 遥控操作 * 目标硬件: AVR MCU ATMEGA128 16.0000MHz * 文件名称:telecontrol.c *
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved