Showing posts with label Specs. Show all posts
Showing posts with label Specs. Show all posts

Wednesday, September 21, 2011

PSoC3 Custom Board - Hardware Revisions

Though I havent started on the first revision,I'd like to get my ideas out before I forget em :P

Initial Design -5V operation,power source USB,USB Bootloader,SWD header.
-There,I've decided the power system too. :)

Rev1 - 5,3.3V operation,Power source USB & External DC Jack as well as a "VIN",USB Bootloader,SWD header,JTAG solder-on header.

Other general Ideas I'd like to add,
-"Shields" for the Board.(Yeah,I know.Need to find a name for this design.)
-Have part of the IO pins at 5,and a part at 3.3,and remove the concept of everything at one IO level.
-More as they hit me.

So what are my plans with this?
Well,I'd like to allow fellow students like myself,a chance to purchase one of these.(No,I dont look at this as a money spinner.Thats not my current focus.).The simple reason being,that'll allow them a better chance to learn this stuff,especially if their college or institute doesn't have the required setup for such an opportunity.Plus,I hear sad stories of very poor lab access from my friends in other colleges,something which I too am deeply frustrated about.

I'm not creating an Arduino killer,but something that can be easy to use,and yet very powerful at the same time.I mean,I see the Atmel and Microchip series of MCUs,while I've not used the latter,I find the PSoC3 way better,but not so accessible.Also,I really want to go further with the PSoC,but I need some hardware too :)

Tuesday, September 20, 2011

PSoC3 Custom Board - Design Goals

With this design,as decided,the idea is to keep it simple and low-cost for the end user.

It'll have 3 main parts,

1.The PSoC3 Chip:
There are 2(+1) variants,the 100pin TQFP and the 48pin SSOP(and the 68pin QFN),which have some feature differences,with the 100pin TQFP CY8C3866AXI-040 being the big daddy of 'em all.

While bigger is better,the SSOP part I had chosen initially satisfied my goals.That was the CY8C3866PVI-070(check the PSoC3 parts available at Cypress' Part Selector).I switched to the CY8C3866PVI-021 later,and more on what prompted that change.
So,the final choice for the chip is the CY8C3866PVI-021.Over to programming now.

2.The Programmer:
Now while the PSoC3 supports SWD(Serial Wire Debug) and JTAG for burning your code,both these modes need an external programming setup of some kind.The First Touch Kit has an FX2LP chip doing SWD for us,while the bigger boards have a MiniProg3(more on that here) supplied to do both(and also act as an I2C bridge,SWV etc.) JTAG as well as SWD.
If you'll goto the MiniProg3 page,an $89 price tag in red is the first thing that you see.Now,I don't mean that its overpriced,but as a student,I cant afford one.(especially when the First Touch Kit itself is $49)

Both programming ways,the FX2LP chip and the MiniProg are complicated(not what I want in my design) and costly.Again,more reference to the Arduino,(which was the source of inspiration for this design.)which uses a Bootloader(the Arduino Bootloader),on an ordinary atmega328(or similar) to simplify the programming.Sure,you need a programmer to get the bootloader burnt on in the first place,but I'll discuss that later.

So,Bootloader it is.Cypress has appnotes for UART(currently under review),I2C(here) and USB(catch my drift?) bootloaders.I didnt know about the USB Bootloader appnote initially,so chose the CY8C3866PVI-070 for my board.Later,realizing the (obvious) advantages of a USB bootloader,which is natively supported(yay!) ,I switched parts to the CY8C3866PVI-021,which is the exact same as the previous choice,but with USBFS(full speed USB2.0).

So the chip is going to be the CY8C3866PVI-021,running a USB bootloader for easy programming.

3.Power:
Now,I havent really nailed down the design goals for this one,but heres what I think.
So,since we'll be using USB,theres the direct access to +5V.Nice.But what about 3.3V? and an external power jack? Or custom voltage levels from external sources(battery,or solar cell etc) ?

While it'd be very easy(for me) to use the USB for power also,it'd be restricting.Okay,so add a "VIN" for connection of any external regulated source.But doesnt that sound a little 'half done'? Fine,add a regulator with jumpers to switch between 5 and 3.3V operation.What about USB v/s an External wall wart adapter for power sources? More jumpers?

That adds a lot of components to the design.But then theres lots of platforms running 5V(Arduino) or fixed 3.3V(mbed,I think.) and still considered "user friendly".

Need to come to a final choice for this.

Update: 29 Nov 11: So the power section is frozen,with 3.3V and 5V selectable levels,where the 5V comes from USB(only) and the 3.3V can be sourced from either USB,or an unregulated DC supply fed into an LM1117-3.3,depending on jumper config.

Concluding,
Its going to be a chip+power with GPIOs broken out to headers.Low cost,simple to use,simple to re-design for custom implementation.


PSoC3 Custom Board - The What,Why,How

I know,long time nothing.That also means I have a lot to write,so I'll start with the current stuff,and deplete the backlog over time.
Update 18 Jan : Here are some pics of the finished board.

A PSoC3 Custom Board.

What?
A self designed PSoC3 board that is open source,prototyping friendly,low cost and can be used with ease(in terms of hardware).

Why?
Apart from the really good learning opportunity this provides,also doing it because I find the PSoC3 First Touch Kit(here) too constrained(specific reference to header layout.) and the DVK(here) too big and costly.Overall,the cons of current kits on offer by Cypress being cost and ease of use.

Also,since I really feel that the penetration for such awesome hardware is minimal among us students,compared to what it can and should be.Again,I'd attribute it to the 2 above factors on their hardware.But that said,CUA(Cypress University Alliance) is a really great initiative.

If people could buy a board for around INR 1000-1200(the Arduino price point),then that'd really open them up to this awesome world,and maximize exposure to *real* embedded systems (Arduino bashing :P )

How?
The basic idea is to replicate the arduino philosophy.By that I mean,chip,power and easy programming,all on one board.Simple to use,hack and modify for custom designs.Aim being to increase ease of use,of which the arduino is an epitome among simple micro-controller platforms.

Since the PSoC3 is no atmega328,this makes this idea all the more interesting,since the power of the PSoC,available at the simplicity of the arduino is a great combo,in my opinion.Thats also my aim for this.

Like I said,Open Source.So all material for this design is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

I'll be detailing the design process as I live it :)