Thanks TJF and Mechael,

Thank you very much for your input, yes, I'm asking lots of questions 
because the board I will choose, I will use for maybe the next 3 or more 
years and it may also be used for other projects at the university.

Sorry, I have a few more questions, hopefully I can clear up the main 
things and make my choice.

Thankfully there seem to be more options for powerful mainstream hobby 
boards (starting with the Pi, now  the Beagle boards and Cubie etc), so I'm 
trying to understand the differences, are there any more boards I should be 
considering?.  I'm hoping to clear some things up so I can finish my 
comparison report, it might be nice to have a comparison wiki for it to be 
easier to see the differences and people can more easier choose a board 
that suits their project.

There is a wikipedia page that is detailed for certain things, not for 
others and not all filled in, but a good start:
http://en.wikipedia.org/wiki/Comparison_of_single-board_computers

For the PWM, I read that the hi resolution (eHRPWM) can do 2 outputs, can I 
control 2 motors with one eHRPWM unit?

TJF, what do you mean about different modes when you referred to PWM?  Is 
this to do with multiplexing pins/ports or PWM function modes for either 
the eCAP or eHRPWM units?  Are there modes for other features besides PWM?

I have found 2 pages which state that the board has 8 PWM outputs, though 
on the BeagleBone page, I see 14 pins, most are A and B outputs of the 
HRPWM units, can they all do individual PWM outputs?  How can I work out 
how many motors I can separately control?  Would be very nice if I can 
individually control 2 motors for each HRPWM unit (maybe same frequency but 
different duty cycles for A and B pins).
http://beagleboard.org/Support/bone101
http://section9.choamco.com/2012/07/beagleboard-vs-beagleboard-xm-beaglebone-vs-raspberry-pi/

7 ADC channels should be more than enough for me, nice that they are 12 
bit, what max sample rate can be used?  The AM355x Ti datasheet states that 
the ADC can do 200 thousand samples a second, is this correct?

I get the feeling that certain features of the chip have not been 
implemented in software, is the PRU the only one or are there others? What 
other items need implementing or improving?  I have read about someone 
complaining that the PWM under usual circumstances is limited to 100Hz due 
to a kernel bug.
http://stackoverflow.com/questions/23050738/beaglebone-pwm-limited-to-100-hz

I read some people complaining about the Anstrom distro that comes 
installed, I also read on the elinux.org BBB page that the BBB project will 
move over from Angstrom to Debian, is Debian or Ubuntu fully functional? 
 What do most people use?

So it seems that the PRUSS or PRU-ICSS (depending where you read what its 
called) may not have all its features implemented, is that correct?  Have 
things mainly been implemented according to what the person making the code 
wanted it to do?

If I choose this board, my main reason may be for the PRU subsystem, I may 
end up contributing to projects to either fix or implement certain 
features.  How can I easily understand what PRU features are completed and 
fully functional vs ones that need work or are not even implemented?


Sorry for all the questions, I have not found a page which has this 
information together, would be nice to feed this sort of info back to the 
BBB main site.

I almost didn't hear about the 2 IO processors in the PRU because its not 
in the AM355x datasheet, just mentions PRU with nothing that made me 
realise how useful it could be.

Fisher


On Wednesday, 2 July 2014 03:50:48 UTC+10, Michael M wrote:
>
> Hello Fisher. TJF gave some good answers. I'd also add that:
>
> Are there BBB python libraries for general things like PWM, ADC, I2C and 
> other general IO like in RPi?
> -Adafruit_BBIO is really good and well-supported
>
> How different is the BBB to use and program to RPi?
> -Since they both run linux, in general programming them is the same. The 
> BBB uses the Device Tree/Cape Manager system which can make the initial 
> learning curve a little steep... not sure if the RPi uses Device Tree by 
> default.
>
> The BBB seems to have 2 x IO processors in its  PRU-ICSS, I think they 
> are 200MHz each, how easy is it to use them for inputs, outputs and 
> calculations separate from the CPU?  Is there a kernel module?
> -Once you get the workflow set up, it's pretty straightforward to use them 
> for IO. The main processor is probably better suited for calculations.
>
> The PRU-ICSS does not really seem to be documented except for in a GIT 
> project, the documents there seem to have info from Texas instruments (who 
> make the CPU) but not official.  Is this subsystem used by others?  How?
> -I've seen it used for 3D print motion and heater control, CNC motion 
> control, etc. Knowing that most instructions take 5ns gives you extremely 
> precise timing... you can have your own high-resolution timers, generate 
> PWM, generate audio waveforms, decode video signals, sample sensors, etc... 
> the sky really is the limit. You can share memory with the main processor 
> and do complex computational tasks(eg computer vision) while having 
> realtime IO. All the information is available online, but it's all 
> scattered which makes the learning curve pretty steep. I'm working on a 
> beginner's guide to the PRU based on my own learning experience to 
> hopefully make it easier to get started.
>
> PWM seems to be 2 types: hi and low resolution, 3 of each to make 6 in 
> total.  The hi seems to have 2 outputs per unit, can they have separate 
> duty cycles?  I would like to control 6 separate motors.
> -TJF answered this. I'd add that you can also generate your own 
> high-resolution PWM using the handy PRU-ICSS.
>
> On Tuesday, July 1, 2014 1:03:36 AM UTC-7, Fisher Grubb wrote:
>>
>> Hi,
>>
>> My name is Fisher, I'm doing a Masters in control system research and 
>> need to choose a controller board for my project.
>>
>> It will control a 6 wheel car (wild thumper) to keep a rod (inverted 
>> pendulum) upright.
>>
>> I am looking to understand the BBB in more detail to know if I should 
>> consider it or not.
>>
>> I will be using the controller board with Simulink from Mathworks in the 
>> same way it can be used with RPi or Arduino.  I hope to control the 6 
>> motors with PWM, read a few voltages with ADC, may be use some I2C and SPI 
>> etc.
>>
>> The BBB may be a strong choice for me if I can use the 2 x IO processors 
>> to do realtime stuff while the CPU does other things.
>>
>>
>> I have a few questions, mainly how its used/programmed compared to the 
>> Raspberry Pi as they can both run Debian Linux.
>>
>>    - Are there BBB python libraries for general things like PWM, ADC, 
>>    I2C and other general IO like in RPi?
>>    - How different is the BBB to use and program to RPi?
>>    - The BBB seems to have 2 x IO processors in its  PRU-ICSS, I think 
>>    they are 200MHz each, how easy is it to use them for inputs, outputs and 
>>    calculations separate from the CPU?  Is there a kernel module?
>>    - The PRU-ICSS does not really seem to be documented except for in a 
>>    GIT project, the documents there seem to have info from Texas instruments 
>>    (who make the CPU) but not official.  Is this subsystem used by others? 
>>     How?
>>    - PWM seems to be 2 types: hi and low resolution, 3 of each to make 6 
>>    in total.  The hi seems to have 2 outputs per unit, can they have 
>> separate 
>>    duty cycles?  I would like to control 6 separate motors.
>>    - The BBB seems to have an 8 channel, 12 bit ADC
>>    - Are any issues with the board such as can't use certain IO's at the 
>>    same time, such as using 6 PWM outputs with 2 ADC, I2C or SPI?
>>
>> Here is the GIT project for the PRU that I have found, Ti seems to refer 
>> to it as well, I think in a forum of theirs.
>>
>> https://github.com/beagleboard/am335x_pru_package
>>
>> To my knowledge, the BBB has:
>>
>>
>>    - 1GHz ARM v8 32 bit CPU from Ti
>>    - 3D GPU with max 720p through HDMI
>>    - 2 x IO processors in the PRU-ICSS
>>    - 3 hi resolution PWM (eHRPWM)
>>    - 3 low resolution PWM (eCAP)
>>    - Some quadrature encoder inputs
>>
>>
>> I appreciate any input from anyone.
>>
>> Thanks,
>>
>> Fisher
>>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to