Cypress技术论坛
直播中

谢赛

8年用户 276经验值
私信 关注
[问答]

频率计数器如何减少UDB?

嗨,我已经实现了频率(RPM)测量使用Dana显示在各种线程上的想法。我附上了一个项目。我现在有两个问题:1。我想降低udb使用我的4通道的转速进行测量和许多其他功能需要实现。我想我在UDB需要额外的空间。如何将计数器块更改为固定函数?我已经尝试过但它说:“rpmcounter_1定时器:counterhw”只能使用一个数字时钟分频器或总线时钟的时钟源。2。看到连接项目我都用12khz时钟模拟转。我已经从这个rpm_freq输出连接外部导线连接(P0 [6 ])来rpmsig_1输入(P0 [2 ])。为12KHz表现完美的值在液晶,但15khz它显示“零”液晶。如果我试图给直接15kHz示意页面(如直接时钟源在硅,没有外部链接)。它完美地显示了频率和转速。我在这里漏掉什么东西吗?将我的开发工作,当我将实际转速信号(0-50khz)?
fReal.CyWrk.CaseV01.Zip
474.2 K

回帖(7)

姜钰

2019-8-26 12:42:18
关于UDBs:你是用一个16位的计数器,它需要2 UDB中公平。因为所有其他组件不需要重复,这意味着你需要8 UDB中数4通道和psoc5 24。所以应该有余地。
对于路由错误FF反可以计数时钟,它的工作方式(甚至在数据表说)。
关于你的第二个问题:代码很难理解,所有这些状态。可能减少rpm_convert_process函数转化为一个简单的循环,等到柜台已抓获(FIFO不为空),然后计算得到的转速直接。这样做,你可以直接在LCD上显示的值。
更好的是:使用ISR读取捕获的价值捕获事件触发。
举报

谢赛

2019-8-26 12:52:00
感谢Dana和HLI的回复。
Dana,我想16位频率5Hz的大门将为我做的工作,这是我与我的应用程序测试。
作为现在需要4的同时测量,所以我将使用单独的计数器和HLI说它将只消耗8 UDB中(我有四个32位计数器之前,为什么我出了UDB我想测试)。但如果四个16位计数器不会为目的那么我肯定会考虑复用。
Hli,为了你的困惑,抱歉。现在我从这个帖子中看到了鲍伯的例子:
HTTP://www. CyPress?COM/?APP =论坛和ID ID=2232和;RID=59444
并根据我的硬件进行修改。
现在看,原理图页面“措施”,我已经rpm_out(P0 [ 6 ])和rpmsig_1(P0 [ 2 ])。我把这两针之间的线连接盒”cy8ckit-050”。请参阅示意性页“时钟”,CcLogy3=15kHz。现在,如果我程序包,它显示0赫兹在屏幕上。如果我现在直接连接线在原理图页“措施”,并删除工具显示15000 Hz的引脚和程序。
知道了?请帮帮我。提前感谢
FMEL.CYWRK.SARVEV011ZIP
775.3 K
举报

杨军

2019-8-26 13:00:43
这是关于一个销硬件连接功能混乱,希望
这就说明你的有线连接不工作示意图—
举报

谢赛

2019-8-26 13:10:49
谢谢Dana的回复,也为我那些令人困惑的帖子感到抱歉。我认为硬件连接设置很好。在这里我附上一张图片,希望它会让我明白你的问题。
案例1)
rpmfrequency产生12 kHz,路由到引脚P0 [ 6 ],通过一个外部的线(跳线)连接到引脚P0 [ 2 ]。结果工作精细
案例2)
rpmfrequency产生15 kHz,路由到引脚P0 [ 6 ],通过一个外部的线(跳线)连接到引脚P0 [ 2 ]。结果工作不好。
案例3)
rpmfrequency产生15 kHz,直接连接的电路图和频率计数器。结果工作不好。
6JPG
289.8 K
举报

更多回帖

发帖
×
20
完善资料,
赚取积分