blackfin处理器是基于由美国模拟器件公司(adi)和intel公司联合开发的微信号架构(msa)的首款第4代dsp产品,它是adi公司16 位产品的一个大系列。本文所用到的adsp一 bf533是blackfin系列处理器的典型代表。
采用spi接口协议实现了sports口与ch376的通信。描述了一种基于usb主从接口芯片ch376与blackfin533的通信设计方案,包括sports口的接口配置、usb模块的硬件设计、驱动程序、ch376芯片的驱动程序等。实现了dsp对usb存储设备的读写访问,以及计算机与dsp的通信,实验表明,整个设计可实现对u盘的快速读写,并方便与pc机进行通信。
1 设计原理
模块主要实现dsp与计算机的通信及数据的存储。基于dsp的usb主从双向通信设计方案,通过adsp bf533 sports模拟spi口,完成adsp与ch376的通信,实现dsp与pc机、dsp与u盘的双向通信以及两种方式的自由切换,图1为系统总体框图。
2 芯片介绍
2.1 ch376芯片
ch376是南京沁恒公司生产的一种文件管理控制芯片。ch376支持usb设备方式和usb主机方式,且内置了usb通讯协议的基本固件、处理mass—storage海量存储设备的专用通讯协议固件、sd卡的通讯接口固件、fat16和fat32以及fat12文件系统的管理固件,支持常用的usb存储设备和sd卡。
ch376支持3种通讯接口:8位并口、spi接口或异步串口。单片机/dsp/mcu/mpu等控制器可通过上述通讯接口控制ch376芯片,存取u盘和sd卡中的文件或与计算机通讯。
2.2 adsp—bf533芯片
adsp—bf533处理器是blackfin系列产品之一,是为满足嵌入式音频、视频和通信应用的计算要求和低功耗条件而设计的新型16位嵌入式处理器。其基于由adi和intel公司联合开发的微信号架构(microsignalarchitecture,msa),将一个32位risc型指令集和双16位乘法累加(mac)信号处理功能与通用型微控制器所具有的易用性相组合。adsp—bf533处理器具有丰富的外设资源,包括一个uart口、一个spi口、两个串行口(sports)和pf口等。
blackfin533有两个相同的同步串口sport0和sport1。这两个串口支持各种串行数据通信协议。图2是sport的简化框图。将要发送的数据,从内部寄存器写入sport、的存储器映射寄存器sportx_tx中。根据选择,此数据可由硬件进行压扩后自动传送至移位寄存器,也可不执行硬件压扩。移位寄存器的位从sport的dt引脚移出,最高位或最低位在前均可,并与tclk引脚的时钟同步。sport的接收部分从dr接收数据,并与串行时钟同步。接收一个完整字后,数据展开的同时自动传送到sport的存储器映射寄存器sportx_tx中,该寄存器可被处理器访问。
3 硬件设计
ch376总是从spi时钟sck的上升沿输入数据,而允许输出是从sck的下降沿输出数据,数据位顺序是高位在前,记满8位1byte。dsp按spi输出方式发出1 byte数据,ch376将spi片选scs有效后收到的首个字节当作命令码,后续字节当做数据。写操作时,dsp向ch376发出1 byte的待写数据,等待spi接口空闲后,dsp继续发出若干个字节的待写数据,ch376依次接受,直到dsp禁止spi片选;读操作时,dsp从ch376接收1 byte数据,等待spi接口空闲后,dsp继续从ch376接收若干个字节的数据,直到dsp禁止spi片选。图3是spi接口的逻辑时序图,前一个发出命令12h并写入数据34h,后一个是发出命令28h并读出数据78h。
为实现dsp的usb主从双向通信设计方案,现将dsp的sports接口模拟spi接口并与支持spi接口通信模式的设备进行通信。主模式下spi接口需要4个信号:数据输入(miso),数据输出(mosi),时钟(sck)和片选(/spiss)。这4个信号其中有3个和sports接口相对应:(1)mosi对应sports口的传输引脚(dtxpri)。(2)miso对应sports口的接受引脚(drxpri)。(3)sck对应sports口的时钟引脚(tsclkx/rsclkx)。
spi接口中未与sports接口对应的引脚信号就是片选信号。片选信号(/spiss)在spi接口中用作时钟sck的选通。作为一个spi从设备,只有片选/spiss被拉低,响应才在时钟信号sck的边沿发生,一旦设备被使能通信开始,sports主接口就会产生一个持续的时钟。要将sports口模拟spi口,正确的时序和片选/spiss信号是重点。tfs被配置成低时,同一周期内数据被放置在sports的发送引脚dtxpri上,且在数据的传输过程中tfs信号始终被拉低,直到新的数据开始传输,这恰好与spi接口的/spiss信号一致。反之作为从模式下,也一样。因此用sports接口的同步时序信号模拟/spiss片选信号即可满足要求。硬件连接如图4所示。
系统硬件电路如图5所示,系统将ch376配置为串行通信方式,使用sport1口,dsp主模式时,数据流通过blackfin533的sport1口,经上述配置方式模拟spi通信方式与ch376模块spi口进行通信,在经过外部usb端口时ch376以usb—host的方式来访问u盘,反之,dsp从模式时,pc机通过usb端口,ch376以usb—slave的方式与blackfin533进行通信。
ch376芯片的scs引脚由dsp的sport口帧同步引脚tfs和rfs驱动,sck由dsp得sport发送和接受时钟输出引脚tsclk和rsclk驱动,sdi引脚由dsp得sport数据输出引脚dtxpri驱动,sdo引脚则连接到dsp的sport数据输入引脚drxpri。
ch376芯片的配置,电容c2用于内部电源节点退耦从而降低usb传输过程中的emi,晶体x1是振荡电路,用于向ch376提供系统时钟信号,p1是usb端口,电阻r1用于限制输出给外部usb设备的电流,c1主要用于减少在usb设备刚插入时的电源电压纹波。关于blackfin533的外围电路配置可参考adi官方设计手册。
4 软件设计
ch376s对u盘的读写分为扇区模式和字节模式两种。扇区模式以扇区为单位,对u盘文件进行读写,其读写速度快,但通常需要额外的缓冲区。字节模式以字节为单位对u盘文件进行读写,读写速度慢,通常用作小数据量的读写,但使用较为方便。
系统软件流程如图6所示,dsp判断用户选择写u盘操作或上位机操作。当选择读取u盘操作时,首先初始化ch376芯片,通过循环不断检测u盘是否连接就绪,u盘就绪后,创建文件名,并将数据写入文件,同时关闭文件,进入到开始。当选择上位机操作,通过usb数据线,将系统连入pc机,首先初始化ch376芯片,dsp判断上位机软件是否发出操作命令,若发出的是命令控制字,则执行相应的操作,并继续判断上位机是否发出命令字;若发出的命令是交出控制权,则系统恢复本地控制,并进入到开始。
5 实验测试
整个系统设计的测试主要分为u盘测试和上位机测试。
选择usb从接口模式,测试工具为usb设备ch372或ch375调试工具,由于在上位机程序中定义#define uread_data 0x80,所以在调试工具中,设置端口下传数据为接收数据命令即80。实验结果表明,在端点上传中成功接收0~3f,共64个数据。实验结果如图7所示。
6 结束语
设计从硬件和软件两方面对基于adsp-blackfin533 sports口的usb主从接口设计进行了详细论述,其具有传输速度快、结构简单、操作方便及传输数据量大等优点。经测试,性能稳定可靠,可广泛应用于各种实际场合。
加拿大新版国家网络安全战略内容
Microchip举办第十届中国技术精英年会,帮助工程师保持
利用可互操作的网络实现无线照明控制设计
晶振封装代表性的网红型号有哪些?
华硕灵智S评测 值不值得买
以ADSP—BF533为例详解DSP的USB主从通信设计方案
韩国三星尖端研究所首次公开使用燃料电池的充电器
智能生活正在走来_家电有望告别“孤岛”现象
移动物联网是新基建的重要组成部分
getchar()函数详解
拥抱安全,让龙芯3A5000+7A0000保驾护航:国产网安主板的最佳选择
新一代人工智能发展方向及技术框架
尽快出台5G低频规划 加速700MHz优质资源释放
绚丽的色彩从何而来_LOTO示波器实测WS2812B系LED光源
vivo X9s、iphone7、三星S8、华为P10谁才是拍照之王?配置、性能、价格全解析!
机械动图来了,工作原理都能看明白!
关于非线性器件的建模与测试的分析和应用
天嵌针对数字标牌系统研发TQ4418广告机主板
高通骁龙845偷跑现身官网,最快将在今年正式发布!
增强了USB IP、SoC和Type-C子系统的验证解决方案