|
这些年下来,家里,公司有很多废旧的电视机,显示器,投影机。你说扔掉吧,有点可惜,卖给收废品的吧,其实和扔也差不多。总想着怎么把这个淘汰下来的显示器给利用上呢。
这些显示器都有个共性,就是带有VGA接口。上网搜索研究了一下,发现VGA接口是可以编程驱动的。
VGA的电气接口除了GND以外,基本的必须有5条信号线:hsync行同步,vsync场同步,red红,green绿,blue蓝。VGA的时序要求是比较严格的,差一点点都无法正常显示。具体的VGA时序,这里就不赘述了,大家可以网上搜索一下。
由于我打算用单片机实现VGA的时序,使用STM32F103测试后可以实现,但由于103的内存太少了,像素的计算搬运有点吃力,最后还是决定使用STM32F4,手头刚好有F401,主频84M,内存64K,足够我使用了。
我这里设计的是一个320*200(横向320个点,纵向200行)的VGA输出音乐频谱模块,基本参数如下:
电源电压:DC5-12V
工作电流:<30mA
频率响应300-18kHz
声道数:2
为了能够稳定输出时序,使用了两个定时器中断分别输出行频和场频。其次需要对音频进行40Khz的高速采样,这里也使用了一个定时器+DMA,最后还需要对音频进行RFFT运算,得到幅值后转换为像素显示。前前后后打了5次PCB,花了将近4个月的时间完成,中间也遇到不少坑,这里只把最后的成果展示一下,作为本次疫情宅家纪念。
电路图和PCB
下面的图是PS的
视频地址:https://v.youku.com/v_show/id_XNDUzMzAyNDExMg==.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|