- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
概要设计说明书
题目:基于ARM的语音通信系统
项目提出者: Wiphone开发小组
班 级: 嵌入式1班
撰 写 人: S邹恩岑
目 录
1引言 2
1.1编写目的 2
1.2背景 2
1.3参考资料 2
2总体设计 3
2.1需求规定 3
2.2运行环境 3
2.3基本设计概念和处理流程 3
2.4结构 5
2.5尚未问决的问题 5
3接口设计 6
3.1用户接口 6
3.2外部接口 6
3.3内部接口 6
4运行设计 8
4.1运行模块组合 8
4.2运行控制 8
4.3运行时间 8
5系统出错处理设计 9
5.1出错信息 9
1引言
1.1编写目的
编写该概要设计主要给开发人员参阅。
1.2背景
项目名称:基于ARM的语音通信系统;
任务提出者:Wiphone开发小组;
开发者:邹恩岑 、胡征犀、魏平、 刘少旭;
用户:希望在300米范围内进行无线通话的用户。
运行软件的计算站:ARM计算机和PC机
1.3参考资料
a.韦东山. 嵌入式Linux应用开发. 北京:人民邮电出版社,2008
b.宋宝华. Linux设备驱动开发详解. 北京:人民邮电出版社,2008
c.[美]蒂文斯,[美]拉戈,尤晋元等. Unix环境高级编程. 北京:人民邮电出版社,2006,
d.[美]Jim Geier,王群等. 无线局域网. 北京:人民邮电出版社,2001
e.徐英慧,马忠梅等. ARM9嵌入式系统设计. 北京:北京航空航天大学出版社,2007
f.[美]David J. Katz, Rick Gentile,陈喆等. 嵌入式媒体处理. 北京:电子工业出版社,2007
g.[美]Behrouz A.Forouzan, Sophia Chung Fegan,谢希仁等. TCP/IP协议族(第三版). 北京:电子工业出版社,2007
2总体设计
2.1需求规定
本软件应当具有的输入输出项目:
1)声卡驱动应用模块:
输入:声卡配置参数;输出:声卡按要求工作;
输入:读声卡命令,输出:录取的音频数据;
输入:写声卡命令和音频数据,输出:播放声音;
2)GSM语音压缩解压模块(开源库,非本小组成员写的代码):
输入:wav未压缩格式音频,输出:gsm压缩格式音频;
输入:gsm压缩格式音频,输出wav解压缩格式音频;
3)网络收发模块:
输入:压缩的音频数据和网络发送命令,输出:无线网络发送数据;
输入:无线网络接收命令,输出:压缩的音频数据;
4)Wiphone程序主控制模块:
输入:Wiphone主程序启动命令,输出:全双工语音通信;
输入:程序终止信号,输出:程序释放资源,并安全退出;
5)Qt/Qtopia用户图形接口模块:
输入:IP地址、启动、结束;输出:向wiphone程序主控制模块发送IP地址数据、启动命令、结束信号,wiphone程序运行状态;
6)start无线环境配置模块:
输入:start程序启动命令, 输出:无线环境自动配置脚本;
2.2运行环境
软件必须运行于Linux环境下,硬件平台可为ARM手持设备或PC机,需要有OSS声卡驱动或者ALSA驱动,平台需要有内置或USB无线网卡。
2.3基本设计概念和处理流程
1、文字描述:
让ARM手持设备或PC机利用Transfunction模式无线局域网或Ad-Hoc模式无线局域网或进行点对点语音通话,广播通话,和组播通话;
2、图形描述:
2.4结构
2.5尚未问决的问题
1)图形界面友好问题,由于是初学C++和QT编程,因此图形界面有好度不佳;
2)没能完成对局域网内所有登录的计算机进行注册和查询的功能,因此自动运行start无线配置程序的计算机只能两台对话;要多台入网对话时需要进行手工IP地址设置。
3接口设计
3.1用户接口
启动按钮,退出按钮,设置目标IP的文本框,程序状态显示框;
程序的命令行启动命令和终止命令。
3.2外部接口
OSS音频驱动程序API;
ALSA模拟OSS驱动库;
Linux操作系统;
3.3内部接口
1)声卡驱动应用模块:
auddev.c:
设置音频设备的打开、关闭、读和写的通用方法;释放声卡资源;读取声卡状态:
audp aud_new(const char *devname, int sample_rate, size_t bufsamples);
void aud_destroy(audp ad);
void aud_get_property(struct aud_property *props);
oss.c:
设置音频设备的缓冲区大小,读取声卡参数:
int oss_set_fragments(int fd, int fragsize, int fragnum, int
文档评论(0)