免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1878 | 回复: 3
打印 上一主题 下一主题

求大神!虚拟波形发生器驱动程序设计 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-03 10:06 |只看该作者 |倒序浏览
设计内容:
(1)设计一个无需硬件的波形发生器,该波形发生器是一个虚拟的字符类型设备,当应用程序读写该设备时,可获得至少三种以上波形的数据,如正弦波、方波等。要求设计该虚拟字符设备的驱动程序,并加载到PXA270内核, 并进行相应的测试。
(2)以一个简单图形化的应用程序测试当前的虚拟驱动工作是否正常。
(3)提示:可采用内核定时器,定时向驱动程序中定义的缓冲区中写入波形数据。

论坛徽章:
0
2 [报告]
发表于 2014-01-03 10:24 |只看该作者
期末作业吧,自己认真做

论坛徽章:
0
3 [报告]
发表于 2014-01-03 14:13 |只看该作者
本帖最后由 wwxxxxll 于 2014-01-03 14:13 编辑

你的作业确实有点操蛋玩意
1. 可能涉及浮点运算,这个要配置内核。
2. 涉及sin\cos,内核没有。
解决:
1. 可以不去配置内核,把数据扩大10的n次方。这样先乘后除。这个方法我以前在8为的单片机上常用。
2. sin\cos可以展开为幂级数:
cosx=1-(x^2)/(2!)+(x^4)/(4!)-(x^6)/(6!)+...    x属于(负无穷,正无穷)
sinx=x-(x^3)/(3!)+(x^5)/(5!)-(x^7)/(7!)+...    x属于(负无穷,正无穷)
//网上的实现。
http://www.doc88.com/p-807578141601.html

这样的算法放在内核,真不是好东西。

其他的定时器,界面,缓存(如果你有兴趣可以试试mmap)、字符设备(就要简单的misc吧),还是比较简单的。
如果你真的喜欢学习驱动:
驱动群:163617970

论坛徽章:
0
4 [报告]
发表于 2014-01-07 09:44 |只看该作者
回复 3# wwxxxxll


    可以考虑用空间来保存这些值。定时器时间到了就取相应的数好了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP