-
聪明!移16位正好可以省掉一个步骤。{:1_102:}
-
但是似乎没有个链接?
-
NashSKY 发表于 2016-3-23 01:20
感谢楼主分享心得
但楼主说:“运行的时候,要么就拷贝到RAM里,要么就直接在flash里面跑。“这个地方应该 ...
yes你说的对。写程序的人语言描述起来都有点差劲。定义在ram里。可以储存在flash里。函数调用之前从flash拷贝一下就好了。不然ram区域里面就是空的,程序肯定要跑飞的。这也就是某一段的loadstart 和 Runstart的区别了。
-
maylove 发表于 2016-2-16 12:12
好的,那我就暂时不邮寄了,等你方便收货的时候告诉我一下!
现在时间方便了,可以寄送了。麻烦您了。
-
信息确认无误。好几次站内信都没收到。都是从邮件里看到的。。
另外能不能三月份的第二周再寄送。人在旅途中。
-
你看一下那个syncin 和syncout是否都打开来用了。然后那个启动时候的phase好像还要变一下预先加2个时钟周期好像。因为同步的步奏需要时钟周期完成。
-
我在前一个帖子里面说过我要一块了。不知道是否已经发了。如果不算的话,我重新登记一下。要一块,用E金币付款。论坛等级的地址已更新。
-
来我也报个名。用E金币!一块
-
okhxyyo 发表于 2016-1-7 11:59
好用不
我觉得用起来挺好使的挺舒服的。
-
凑凑热闹。我用的就是这款一毛一样的:time::time:
-
https://bbs.eeworld.com.cn/thread-318121-1-1.html
楼主看下这个帖子吧。我偶尔手残做过两次这个事情就直接换片子了。
-
#ifndef CNTL_2P2Z_F_H_
#define CNTL_2P2Z_F_H_
//*********** Structure Definition ********//
// Second order control law using an IIR filter structure with programmable output saturation.
// This macro uses CNTL_2P2Z_F structures to store coefficients & internal values.
// The structures should be initialized with the supplied CNTL_2P2Z_F_INIT macro.
// Within the structure the Max & Min parameters are the output bounds where as the IMin parameter
// is used for saturating the lower bound while keeping an internal history. The IMin parameter
// should not be lower than -0.9.
typedef struct {
// Coefficients
float32 Coeff_B2;
float32 Coeff_B1;
float32 Coeff_B0;
float32 Coeff_A2;
float32 Coeff_A1;
// Output saturation limits
float32 Max;
float32 IMin;
float32 Min;
} CNTL_2P2Z_F_COEFFS;
typedef struct {
float32 Out1;
float32 Out2;
// Internal values
float32 Errn;
float32 Errn1;
float32 Errn2;
// Inputs
float32 Ref;
float32 Fdbk;
// Output values
float32 Out;
} CNTL_2P2Z_F_VARS;
//*********** Macro Definition ***********//
#define CNTL_2P2Z_F_MACRO(v, k) \
/* Calculate error */ \
k.Errn = k.Ref - k.Fdbk; \
k.Out = (v.Coeff_A2*k.Out2) + (v.Coeff_A1 *k.Out1) + (v.Coeff_B2 *k.Errn2) \
+ (v.Coeff_B1 * k.Errn1) + (v.Coeff_B0 * k.Errn); \
/* Update error values */ \
k.Errn2 = k.Errn1; \
k.Errn1 = k.Errn; \
/* Determine new output */ \
k.Out = (k.Out < v.Max) ? k.Out : v.Max; \
k.Out = (k.Out > v.IMin) ? k.Out : v.IMin; \
/* Store outputs */ \
k.Out2 = k.Out1; \
k.Out1 = k.Out; \
/* Saturated output */ \
k.Out = ((k.Out > v.Min) ? k.Out : v.Min);
#endif /* CNTL_2P2Z_F_H_ */
复制代码我用的代码是这样的,来自TI的control SUITE的Solar LIB。
用下面的宏定义函数就可以了。两个结构体一个放了波波器的值一个放滤波参数。用之前记得两个结构体都初始化一下。
然后滤波器参数用MATLAB的fdatool生成一下就可以了。楼主可以试试看。
-
本帖最后由 a828378 于 2015-12-22 16:57 编辑
用是可以这么用的。记得看过应用手册非同步整流的好像都可以这么整。但是好像做出来纹波非常大。我做出来过。然后查了TI的参考设计也是这样。
TPS54232具有 Eco-mode 的 3.5V 至 28V 输入、2A、1MHz 降压转换器。
那么楼主看一下你的芯片VIN引脚对GND引脚的电压是多少啦?换一个额定输入电压高些的。至少24+15以上的片子试试?
-
elvike 发表于 2015-11-27 21:09
trible money
{:1_145:}这么说来倒是了。我到时候要做的是两个分开的环路。还有一些杂七杂八的东西,索性就用双核的了。CLA调试起来还是有那么一点不方便。
-
我们这边的学校邮箱还可以申请。不过加在一起最多就三四片的样子。样品申请机会还是留着申请有用的芯片比较好。省点钱是小事,关键是快捷方便又可靠,TB上磨字的片子都不敢用。
-
elvike 发表于 2015-11-27 20:07
图片这个是28377s要30刀 28377D是99刀,加上运费,就一百多刀了
这个是S。那个是D噻。99刀的相当于双倍经验的{:1_138:}
-
28377D control card噻。降价了99刀。:tongue:
-
速度的话,就进仿真用clock功能掐一下就知道了。
精度的话。得查手册了。
你这个指令是具体哪款dsp的了。?如果是TMU里面的话。精度是IEEE的某个标准。速度是5个时钟周期。
-
LZ的帖子写的很好!建议给楼主加个精!
加一点细节。ramfunc和flashfunc的区别在于实际速度不同。
该段来自于TI的spra958文档。大概就是说150M的时钟频率下。放在ram里的程序可以跑到150M的速度。但是在flash里的速度就要打个六折了。有一些实时性要求高的反馈或者要求速度快的蛋疼的计算就得预先搬运到ram里面跑了。
而RAM的大小有限。这边是速度与空间之前的取舍了。
-
elvike 发表于 2015-11-26 17:02
土豪什么时候出测评啊,这个芯片好大潜力啊
一定不会忘。放心。现在看看资料就觉得有些模块优化得还是不错的。要等考试考完,就能研究这些了。还有一个月。