I am not sure I understand this correctly, but maybe this is possible:

substract_encoder_offset --> mod_encoder_count --> take_only_needed_MSB 
--> customized_table_lookup with custom pre-calculated encoder offsets 
for 120 and 240 degrees  --> scale_multiply_sines --> 3_PWMGENS

I mean use pre-calculated sine table for particular encoder scale, 
possibly shorter by 2, 4, 8, etc. times of encoder counts (rougher) 
which would be smooth enough.

If made open-source, maybe these firmware files could be compiled by the 
users theirself..

New ideas:
Idea #1:
use rough sine table in FPGA for fast speed and software for slow speed. 
Or just give software a possibility to send it's own values, but if it 
doesn't do that - use hardware's on transition to new table value.

Idea #2 (at least):
make phase commutation in HW. I mean when sine crosses zero (on hall 
signal slope), just commutate different phases and leave values the same.


On 2013.07.10 16:56, Peter C. Wallace wrote:
> Even if just commuation is done in a FPGA its probably a win do use a soft
> processor since you need to do mod_encoder_count --> scale multiply -->
> table_lookup with 0,120,240 deg offsets --> scale multiply sines --> 3_PWMGENS
> for each channel...



------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to