什么人容易得胆汁淤积| top1是什么意思| 一刻是什么意思| 牙髓炎是什么| 女人喝黄芪有什么好处| 大腿酸痛什么原因| 恋童癖是什么意思| 做b超可以检查出什么| 什么是子宫内膜异位症| 世界最大的岛是什么岛| 主动脉夹层是什么原因引起的| 晚上看见蛇有什么预兆| 土色是什么颜色| 熟视无睹什么意思| 喝什么水最解渴| 外阴萎缩是什么症状| 信口雌黄是什么意思| 荆州是现在的什么地方| 友女是什么意思| 为什么想吐却吐不出来| 什么的星星| 感冒适合吃什么饭菜| 宫内膜回声不均匀是什么意思| 牛大力泡酒有什么功效| 什么姓氏排第一| baron是什么意思| 干部是什么意思| 什么货币最值钱| 吃什么补脑最快| 618是什么意思| 急性腮腺炎吃什么药| 小肠换气吃什么药| ps是什么意思| 经期量少吃什么来排血| 8月出生的是什么星座| 四肢厥逆是什么意思| 孕妇可以喝什么饮料| 小孩牙疼吃什么药| 火烈鸟吃什么| h 是什么意思| 梦见吃西瓜是什么征兆| 饭票是什么意思| 手腕长痣代表什么意思| 藏青色配什么颜色好看| 人为什么要刷牙| 什么叫走读生| 什么是it行业| 无名指长代表什么| 为什么抽烟就想拉屎| 1943年属什么生肖| 非甾体抗炎药是什么意思| 筷子买什么材质的好| 处女座与什么星座最配| 中指麻木是什么原因引起的| 看到刺猬有什么预兆| 为什么老是打喷嚏| 西湖龙井属于什么茶| 长颈鹿代表什么生肖| 输钾为什么会痛| 头不自觉的晃动是什么原因| 维生素E什么牌子的效果最好| 藏蓝色是什么颜色| 安全生产职责是什么| 白细胞偏高说明什么| 痛风应该挂什么科| 景页读什么| 左下腹痛挂什么科| 混不吝是什么意思| 揩是什么意思| 什么农药最毒| 梦见火是什么意思| 天地人和是什么意思| 什么样的马| 骑马野战指什么生肖| 四点水的字与什么有关| 七五年属什么| 家政是什么工作| 谷雨是什么时候| 路虎为什么叫奇瑞路虎| 六月十一是什么星座| 收缩压偏高是什么意思| 心脏骤停是什么原因引起的| 督察是什么意思| 蒸鱼豉油可以用什么代替| 非常的近义词是什么| 印度信仰什么教| 点状钙化灶是什么意思| 全麦面包是什么意思| 五彩缤纷是什么生肖| 割包皮有什么好处| 跑男什么时候播出| 蒲公英泡水喝有什么副作用| 什么是eb病毒| 阿莫西林是治什么的| cp是什么单位| 统战部是干什么的| 女人性冷淡用什么药| 走路出汗多是什么原因| 尘肺病用什么药最好| 刻意是什么意思| 单侧耳鸣是什么原因引起的| 黑豚肉是什么肉| 开黑什么意思| 人类的祖先是什么| 拌黄瓜需要什么调料| 逍遥丸有什么作用| 什么是矫正视力| 病理检查是什么意思| 腻害什么意思| 舌头不舒服是什么原因引起的| 胆囊炎什么不能吃| 非萎缩性胃炎伴糜烂吃什么药| sg什么意思| 妇科炎症吃什么消炎药效果好| 木克什么| 喝什么去火效果最好| 什么叫窦性心律不齐| 烂漫是什么意思| 支气管炎吃什么药有效| 腰背疼痛挂什么科| 梦见牙套掉了是什么意思| 出恭什么意思| 黄精什么人不能吃| 老是口腔溃疡是什么原因| 什么茶对胃好| 杨桃是什么季节的水果| 小孩咳嗽流鼻涕吃什么药效果好| 高血压用什么药| her是什么意思| 梦见初恋男友是什么意思| 属兔是什么命| 贾琏为什么叫二爷| 七月十四是什么节| 逼是什么| 鸭子喜欢吃什么| 吃青提有什么好处| 6月19号是什么星座| 津液是什么| 枇杷不能和什么一起吃| 什么是手性碳原子| 失眠吃什么中成药| 血肌酐低是什么原因| 什么水果利尿效果最好| 脸部神经跳动吃什么药| 海肠是什么| 什么地画| 七宗罪都是什么| 左附件囊肿注意什么| 月经是黑色的是什么原因| 12月24号是什么星座| 儿童热伤风吃什么药| 阴唇黑是什么原因| ca125是什么检查项目| 粉瘤是什么东西| 解尿支原体是什么| 急性扁桃体化脓是什么原因引起的| 雪花飘飘北风萧萧是什么歌| ifound是什么牌子| 左腹部疼是什么原因| 阴道吹气是什么原因| 上午十点是什么时辰| aojo眼镜什么档次| 双侧肾盂无分离是什么意思| 胃酸胃胀反酸水吃什么药| 梦见洗头是什么预兆| 喝陈皮水有什么好处| 牙齿痛吃什么药好| 太阳为什么能一直燃烧| 迥异是什么意思| 月亮是什么颜色| 为什么会起水泡| 合疗和医保有什么区别| 缺铁性贫血吃什么药最好| 龋齿是什么原因造成的| 两什么三什么| 杞人忧天是什么故事| 真正的朋友是什么| 排便困难拉不出来是什么原因| 结婚6年是什么婚| 小肠换气什么症状| bpo是什么意思| 甲亢是什么原因导致的| 道和集团是干什么的| 手指红肿是什么原因| 芥末是什么做的| 通风什么征兆| 女性长期便秘挂什么科| 河豚为什么有毒| 1951年属什么生肖| 抑郁症是什么原因造成| 胃窦炎是什么原因引起的| 夫妻肺片里面都有什么| 登高是什么意思| 神经质是什么意思| 领英是什么| 孕妇oct是什么检查| 包皮长挂什么科| 疾控中心是做什么的| 备孕不应该吃什么| 用什么泡脚去湿气寒气| 大腿正面是什么经络| 什么叫包皮过长| 蟹黄是螃蟹的什么东西| 老鼠最怕什么气味驱赶| 白灼虾是什么虾| 腰间盘突出有什么症状| 猫癣用什么药| 胳膊肘疼痛是什么原因| 气血不足什么症状| 黄精药材有什么功效| 青筋明显是什么原因| 10月5日什么星座| 什么人容易得类风湿| 痰是什么| 海绵是什么材料做的| 镜检白细胞高是什么原因| 77属什么生肖| 农历五月十九是什么日子| 副主任医师是什么级别| 隐翅虫皮炎用什么药膏| 吃什么能快速减肥| 总掉头发是什么原因女| navy是什么意思| qh是什么意思| 脾脏是人体的什么器官| tvb什么意思| 为什么会有湿气| 幽门螺杆菌有什么症状| 为什么黄瓜是绿色的却叫黄瓜| 什么菜可以隔夜吃| 老年人吃什么水果对身体好| 考警校需要什么条件| 口里有异味是什么原因| 眼袋大用什么方法消除| 腰间盘突出用什么药好| 菠萝为什么要泡盐水| 韭菜什么时候种最合适| 天牛喜欢吃什么| 有脚气是什么原因引起的| 小儿鼻炎用什么药好| 复视是什么意思| 8月8号是什么日子| 梦见死了人是什么意思| 女生为什么会长胡子| 什么是无产阶级| 睡久了头疼是什么原因| 不景气是什么意思| 25周岁属什么生肖| 有胃火口臭怎么办吃什么药| 基数是什么意思| 补气血喝什么汤| 嘴唇周围长痘痘是什么原因| 牙疼不能吃什么| 10万个为什么| 自性是什么意思| bid医学上是什么意思| 未属什么五行| 自来水养鱼为什么会死| 社会抚养费是什么意思| 女生被操是什么感觉| 在什么前面| 什么中药补肾最好| 料酒是什么酒| 什么的滋味| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VK3X多总线UART在嵌入式手持设备中扩展串口及Linux驱动设计

电影《恋爱回旋》获赞励志热血

作者: 时间:2025-08-05 来源:网络 收藏
摘要: 本文介绍了一种基于VK3X芯片实现方案,并给出了嵌的方法和编程参考。
关键字VK3X

随着的功能增强,CPU/DSP需要与更多的功能模块连接,常见的诸如蓝牙模块,GPS模块,GSM模块,红外模块,读卡器模块等大多采用与CPU接口,而目前的CPU大多只提供2-3个,在中往往还需要留一个作为调试口,实际只有1-2个UART能用于连接外设模块,因此需要对CPU进行UART串口

传统的UART芯片因为尺寸,功耗等原因并不能完全满足手持设备的需要。考虑到手持设备对芯片的尺寸,功耗均有较严格的要求,本设计中选用专门为手持设备提供的1.8v低电压VK3X系列QFN封装UART产品作为串口扩展芯片。

1.VK3X系列低电压UART器件的功能特点及原理架构介绍:
低电压版的VK3X系列UART支持1.8V-3.3V工作电压,-45℃到+85℃工作温度,每个子通道支持最高1Mbps的传输速率,支持休眠及自动唤醒功能,最低休眠电流仅为90uA。采用QFN24(4x4x0.8mm)和QFN32(5x5x0.8mm)超小封装,完全满足手持设备的设计要求。

VK3X系列UART的原理框图如下

VK3X系列内部结构包括主机接口,子通道部分,MODEM控制逻辑,中断控制逻辑几部分。
主机接口为VK3X与CPU/DSP相连的接口,通过M1,MO模式选择信号线,可以分别选择8位并行,SPI,UART,IIC四种接口模式与主机相连。
MODEM控制逻辑用于与MODEM相连时的状态信号线的监控和控制。
中断控制逻辑用于产生和控制各种内部中断。
时钟发生器为芯片的提供时钟,可以用CLKSEL引线选择从晶振还是外部时钟源获取时钟。
多主机接口可以根据实际设计需要选择配置。


2.基于VK3X的嵌入式手持设备扩展串口硬件设计:

2.1UART、IIC总线扩展低速串口设计(手持GPS设备)
VK3X的UART主机接口模式创新的实现了将一个标准3线异步串口(UART)扩展成为2~4个通道的串口(UART),为需要扩展串口的嵌入式系统提供了一个最简洁的解决方案,应用于对速度要求不高的现有方案扩展升级多串口的应用中。

IIC总线主机接口模式实现了IIC扩展桥接2-4个通道的UART,适合对串口速度要求不高,MCU的IO有限的应用(如GPS)中。

本设计中采用VK302扩展2路低速串口,主接口有IIC和UART两种接口可以选择。嵌入式平台中的DSP/CPU通过IIC或UART总线与VK302相连,扩展出来的二个子串口分别连接低速的GPS模块和触摸屏模块。

2.2SPI总线扩展高速串口设计(GPS智能手机)
SPI总线主机接口模式可以通过高速的SPI同步串行口扩展2-4个通道的高速串口UART,广泛应用于带SPI同步串行接口的CPU,DSP扩展高速UART串口设计。
本设计中VK304主机接口工作在最高5Mbps的SPI总线从模式下,扩展出的4个子串口分别连接蓝牙模块(920kbps),红外收发器(115.2kbps),CDMA/GPRS模块(230kbps),GPS模块(9.6kbps)。在设计中,为保证数据传输的可靠性,CDMA/GPRS于VK3X之间应用了硬件流量控制机制,通过RTS1,CTS1来实现硬件流量控制。


2.3SPI/8位并行总线扩展高速串口及IO(智能双模手机)
VK3X的8位并行总线接口模式针对嵌入式产品特点,采用了管脚复用设计减少了引脚,并通过精简寄存器结构设计简化软件设计,可以替代16C55X系列产品应用于8位,16位,32位CPU扩展外部串口。用于并口输入的IO也可以复用为GPIO,为系统提供IO扩展功能。适用于同时需要串口扩展和IO扩展的系统中。
在本设计中使用VK3368进行串口扩展和IO扩展。在双模手机设计中,需要同时连接CDMA和GPRS两种无线模块,在CPU与模块之间,除了TX、RX、RTS、CTS之外,还需要连接DTR、DCD等握手信号。DCD信号用于模块是处于数据传送状态还是处于AT命令传送状态,DTR信号用来通知模块传送工作已经结束(挂断)。此处通过VK3368扩展出的GPIO实现握手信号的连接。

3.VK3X系列UART在下的串口设计
目前,Linux以其开放的特性已经广泛的应用到手持设备中,Linux2.6是目前应用较广的版本,在Linux2.6中,采用了新的drivers/serial/serial_core.c基础构架,更易于开发驱动程序,也很方便移植到其它版本的Linux中。下面以基于ARM9(S3C2440)的Linux(2.6内核)平台为例,介绍采用SPI总线接口的VK3X的串口驱动设计示例:
VK3X驱动中包含的头文件:
#includelinux/config.h>
#includelinux/module.h>
#includelinux/kernel.h>
#includelinux/init.h>
#includelinux/slab.h>
#includelinux/console.h>
#includelinux/serial_core.h>
#includeasm/irq.h>
#includeasm/hardware.h>
#include"serial_vk32xx.h"
初始化SPI函数:
inlinevoidsetup_spi(void)
{
SPCON0=SPCON_MSTR|SPCON_ENSCK;
SPPRE0=0x04;//setbandrate
write_gpio_bit(VK32_CS,1);
}
SPI发送函数:
uint8_tspi_send_byte(uint8_tdat)
{
write_gpio_bit(VK32_CS,0);
SPTDAT0=dat;
while(!(SPSTA0SPSTA_READY));
write_gpio_bit(VK32_CS,1);
returnSPRDAT0;
}
写VK3X寄存器函数:
voidvk3xxx_write_reg(uint8_tport,uint8_treg,uint8_tdat)
{
spi_send_byte(0x80|((port-1)5)|(reg1));
spi_send_byte(dat);
}
读VK3X寄存器函数:
uint8_tvk3xxx_read_reg(uint8_tport,uint8_treg)
{
spi_send_byte(((port-1)5)+(reg1));
returnspi_send_byte(0x00);
}
初始化VK3X函数:
staticintvk32xx_startup(structuart_port*port,structuart_info*info)

接收数据函数
staticvoid
vk32xx_rx_chars(structuart_info*info,structpt_regs*regs)
{
uint8_tssr;
structtty_struct*tty=info->tty;
unsignedintch,flg,ignored=0;
structuart_port*port=info->port;
……
}
发送数据函数
staticvoidvk32xx_tx_chars(structuart_info*info)
{
structuart_port*port=info->port;
uint8_tssr;
……
}
VK3X中断处理函数
staticvoidvk32xx_int(intirq,void*dev_id,structpt_regs*regs)
改变VK3X通信速度函数
staticvoidvk32xx_change_speed(structuart_port*port,u_intcflag,u_intiflag,u_intquot)
数据收发相关函数:
staticvoidvk32xx_stop_tx(structuart_port*port,u_intfrom_tty)
staticvoidvk32xx_start_tx(structuart_port*port,u_intnonempty,u_intfrom_tty)
staticvoidvk32xx_stop_rx(structuart_port*port)
控制相关函数:
staticintvk32xx_startup(structuart_port*port,structuart_info*info)
staticvoidvk32xx_shutdown(structuart_port*port,structuart_info*info)
staticvoidvk32xx_change_speed(structuart_port*port,u_intcflag,u_intiflag,u_intquot)
子通道操作相关函数:
staticvoidvk32xx_config_port(structuart_port*port,intflags)
staticintvk32xx_verify_port(structuart_port*port,structserial_struct*ser)
staticvoidvk32xx_init_ports(void)

驱动的接口结构如下:
staticstructuart_opsvk32xx_pops={
tx_empty:vk32xx_tx_empty,
set_mctrl:vk32xx_set_mctrl,
get_mctrl:vk32xx_get_mctrl,
stop_tx:vk32xx_stop_tx,
start_tx:vk32xx_start_tx,
stop_rx:vk32xx_stop_rx,
enable_ms:vk32xx_enable_ms,
break_ctl:vk32xx_break_ctl,
startup:vk32xx_startup,
shutdown:vk32xx_shutdown,
change_speed:vk32xx_change_speed,
type:vk32xx_type,
release_port:vk32xx_release_port,
request_port:vk32xx_request_port,
config_port:vk32xx_config_port,
verify_port:vk32xx_verify_port,
};

结束语
嵌入式手持设备需要越来越多的串口外设,在CPU自带的UART串口通道不够的情况下,需要进行串口扩展。针对嵌入式手持设备要求芯片小尺寸,低功耗,低电压的需求,选用低电压版本的VK3X进行串口扩展设计。在硬件设计上,根据不同应用,可以选用本文提供的低速串口扩展,高速串口扩展、高速串口及IO扩展等不同的参考设计方案。在驱动软件方面,可以参考本文提供的Linux驱动设计参考进行驱动设计。

参考文献:
VK3X系列产品数据手册>www.vkic.com/DataSheetFiles/
VK3Xlinux驱动编程参考>www.vkic.com/DataSheetFiles/vk3x_linux_drv.rar
TheSerialDriverLayer"byGregKroah-Hartman,www.linux.it/~rubini/docs/serial/serial.html
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭
恩五行属什么 缺钾有什么表现和症状 中旬是什么意思 下眼睑红肿是什么原因 人丹是什么药
电轴左偏什么意思 什么人一年只工作一天脑筋急转弯 杠是什么意思 林彪为什么叛逃 什么蛋不能吃脑筋急转弯
老年人吃饭老是噎着是什么原因 男人左手有痣代表什么 蒹葭是什么 来例假喝红糖水有什么好处 素鸡是用什么做的
喝咖啡有什么好处 对数是什么意思 非洲是什么人种 锦鲤可以和什么鱼混养 酌情是什么意思
腺病毒吃什么药hcv8jop4ns8r.cn 三维是什么意思wuhaiwuya.com 打马赛克是什么意思hcv8jop2ns8r.cn 微生物是什么hcv8jop2ns4r.cn 周瑜是什么样的人adwl56.com
嬴政为什么要杀吕不韦hcv7jop5ns3r.cn 情结是什么意思hcv9jop0ns2r.cn mk属于什么档次hcv9jop4ns3r.cn 骨头炖什么好吃hcv9jop0ns9r.cn 中国移动增值业务费是什么hcv9jop0ns6r.cn
梦见婴儿是什么预兆hcv8jop1ns6r.cn 泰国的钱叫什么hcv7jop9ns1r.cn 小肚子胀痛什么原因hcv8jop3ns6r.cn 羊肉馅饺子放什么菜0735v.com 桑拓木命是什么意思hcv8jop9ns9r.cn
干什么最挣钱hcv8jop9ns9r.cn 9价疫苗适合什么年龄人打hcv7jop4ns7r.cn 糖化血红蛋白高是什么意思hcv7jop4ns7r.cn 智齿发炎肿痛吃什么药hcv8jop0ns0r.cn 尿酸高的人吃什么食物好1949doufunao.com
百度