微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > USB接口单片机SL11R的特点及应用

USB接口单片机SL11R的特点及应用

时间:07-10 来源:电子技术应用 点击:
1 USB接口简介

USB总线是通用串行总线(Universal Serial Bus)的简称,已经成为PC机的标准接口。目前586以上的PC机基本上都已经配置了USB接口。USB接口具有数据传输速率高、使用方便等特点。USB1.1协议规定的全速传输速率为12Mbit/s,而USB2.0协议所规定的高速传输速率为480Mbit/s,非常适合有大量数据传输的系统。USB设备即插即用,无需重新启动计算机。

2 SL11R介绍

2.1 SL11R概述

SL11R是Scanlogic公司的SL11产品家族的一员,是一种带USB接口的16位单片机,内部运行频率为48MHz,采用RISC结构,有16位数据总线,32位通用I/O口(GPIO),其中22位可作为地址总线进行寻址(A0~A21),可以直接扩展多种外设。

2.2 SL11R主要特点

·USB接口 SL11R的USB接口符合USB1.1协议,有四个端点(endpoint),两种数据传输速率,全速模式为12Mbit/s,低速模式为1.5Mbit/s,并且具有USB协议所规定的四种数据传输方式,即控制传输方式(Control mode)、同步传输方式(Iochronous mode)、中断传输方式(Intrerupt mode)、批量传输方式(Bluk mode)。

·硬件资源丰富 SL11R有3K字节的内部RAM、两个定时器、两个外部中断、一个看门狗电路、一个普通串行接口(UART)、32位通用可编程I/O口(GPIO)、一个16位的可编程DMA接口、四个PWM输出引脚及扩展外围元件用的控制引脚。SL11R的外围元件扩展非常方便,扩展EPROM、串行E2PROM、SRAM即EDO DRAM等常用元件时均无需另加控制电路。

·多种工作方式 SL11R有四种工作模式,即通用输入输出模式、快速增强并行端口模式、8位/16位DMA模式、DVC8位DMA模式,可根据实际应用场合用软件进行设置。尤其8位DVC模式,可以直接与CCD接口,方便地开发CCD图像采集系统或数码相机。

·无需专用开发装置 SL11R内部有3K×16位的程序存储器,类似于80X86的BIOS,已经把单片机的启动配置、联机调试及常用功能等固化在内部,开发者直接调用即可。CPU复位后,内部BIOS会把外部程序存储器中的代码读入内部RAM中执行。如果没有外部程序存储器,SL11R会自动运行在监控状态,与PC机进行联机通讯,并能够在线对线路板上的串行EEPROM进行编程或直接调试程序。由此可见,SL11R无需专用开发装置就可以进行开发,这一点对开发者非常有利。由于SL11R可以在线编程,这就意味着即使用户也可以进行软件升级。这一点对新产品开发很必要,因为有些BUG可能要用户使用后才能发现。

2.3 SL11R工作方式简介

·通用输入输出模式(GPIO模式) 在这种模式下,SL11R的外部有32个通用输入输出引脚,其中4个已经分配给USB和UART串行接口专用,其他28个引脚可以通过软件编程,分别设置成输入或输出状态。这种模式一般用于处理普通的外部并行接口类设备的数据,是用途较广的模式。

·快速增强并行端口模式(Fast EPP模式)快速增强并行端口(Fast EPP)是计算机外设的一种标准并行接口。SLR11R在这种模式下,可以直接读写快速EPP并行增强端口。一般用于USB接口和Fast EPP接口的转换。

·8位/16位快速DMA模式 SL11R的DMA模式包括邮箱协议(Mailbox Protocol)和DMA协议两种方式。邮箱协议工作方式允许外部处理器与SL11R进行异步通讯,它们通过邮箱的输入、输出寄存器交换数据。DMA协议工作方式一般用于SL11R与外部设备大量的数据高速传输。这种传输无需CPU的干预,而且允许外设直接与DRAM进行数据交换,适合数据量大的场合,如打印机、Modem、扫描仪等。

SL11R在DMA模式下,还有四个可编程的PWM输出引脚,可以控制DMA模式下的外设与不同的外设通讯,如连接CCD、CIS、COMS等图像传感器或其他外设。只要根据外设的控制要求对PWM编程,就可以控制外设在DMA模式下传输数据。

·DVC8位DMA模式这种模式专门用于与CCD相机接口,SL11R通过串行方式控制CCD相机,图像数据以DMA的方式传给SL11R。

3 SL11R设计应用

3.1 SL11R硬件设计

SL11R的硬件设计比较简单,因为实际应用中一般的外围元件可以直接扩展。Scanlogic公司在开发套件中提供了一个比较完善的电路图,但对一些简单应用场合显得稍繁琐。事实上SL11R的内部有3K字节的RAM,在数据量不是特别大的场合,无需扩展外部数据存储器。图1是笔者设计的SL11R应用的一个基本电路,已经在实际项目中应用。

虽然SL11R经过编程可以使用12MHz晶振,但调试模式不支持12MHz,而且笔者在实际使用过程中发现,如果晶振质量不太好,电路稳定性稍差。故建议在条件许可的情况下,尽量使用48MHz的晶振。

SL11R的工作电压为3.3V,电路中其它元件均应选用低电压型器件。

Scanlogic公司提供的SL11R开发工具中附带有调试程序,在线调试时需要使用RS232口,所以电路中设计了RS232接口芯片。

3.2 SL11R固件设计

SL11R的固件直接控制CPU的运行,程序代码可以存储在外部EPROM或I2C串行EEPROM中,甚至可以存在主机上,在适当的时候下载到SL11R的内部运行。最简单的方式是把代码写到串行EEPROM中,因为SL11R提供了专用的工具软件可以直接对EEPROM在线编程,无需另外的编程装置。

3.2.1 SL11R程序结构

SL11R汇编语言的语法结构与80X86相似,而且也有内部BIOS。
MCS51等没有BIOS的单片机,需要开发者控制CPU的每一步运行,程序必须在某一段反复循环,程序结构见图2。SL11R由于有BIOS支持,它的程序结构就与MCS51有所区别。SL11R的主体循环是在BIOS内部,实际上用户程序一般只是BIOS的中断响应子程序。也就是说,开发者所编的SL11R的用户程序可以没有主循环体。SL11R的用户程序结构见图3。值得指出的是,开发者也可以摆脱BIOS的控制,程序不在BIOS内部循环。但该程序设计难度较大,因为这时开发者需要自己直接处理USB接口的底层软件,一般没有特殊要求不要使用这种方式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top