Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

Portable Reference Platform

The portable reference platform (http://www.niosforum.com/pages/project_details.php?p_id=77&t_id=45) is available for download on the System Design Projects Page. It shows how to use Nios II and SOPC Builder to create embedded designs that have access to external peripherals such as TFT displays, Touch Panels and Imagers.

I will try to support any questions or comments through this forum.

Regards

Steven Kravatsky

Arrow Electronics

17 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    originally posted by albertyong88@Nov 4 2006, 05:24 PM

    just wondering if this platform supports uclinux ?

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=19172)

    --- quote end ---

    --- Quote End ---

    If someone does the work, it certainly could. It would mainly be a case of the uClinux device drivers being added to support the LCD display, touch panel and camera.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    originally posted by tonnoplast@Dec 6 2006, 11:25 AM

    hi skravats.

    i&#39;ve a question for you about your por ref plat.

    the exe file at the bottom of the page, is a kind of "filling system" where the user can personalize his own system doing the appropriate connection?

    let me explain my project.

    a cmos camera, i2c\sccb\ interface, is connected to proto1 block by a daughter board.

    using the altera developmenat board ep2c35, fpga cyclone ii, i must catch pixels and whole frames from that camera using nios ii and quartus ii software.

    my first problem is how to read datas from camera because i tried to use pios for doing this after have seen the templates files on nios ii software. i thougt that the method used to catch the switches status was the right way for catching datas from an external peripheral like a camera,so pios should be ok. but, this solution wasn&#39;t right.

    can you explain me,what have i to use?

    on while i will read your exe file. i wanna ask you this first because if this is not the right solution for my project i try to find other infos. http://forum.niosforum.com/work2/style_emoticons/<#emo_dir#>/unsure.gif

    many thanks.

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=19864)

    --- quote end ---

    --- Quote End ---

    1.

    The .exe is an installer. It will install all the Quartus Projects, SOPC Builder projects, HDL Intellectual Property, Software projects etc & Documentation on your PC.

    2. There were two peripherals custom created to interface to the Camera. The first is the Camera Slave. It interfaces to the camera and captures the pixel data from the camera into an internal fifo buffer. The fifo output is presented to the sopc system in the form of a memory mapped register. Any avalon master can read this register and thus gather the pixel data. This master could be a Nios II processor or any other avalon master. We also created the Camera Master Peripheral. This peripheral is connected to the camera slave. It reads the pixel data from the camera slave&#39;s data register and writes it to a frame buffer in memory. In this way an entire image 640x480 is written into a frame buffer in memory. Please read the data sheets for the camera master and slave. The camera master provides an extremely efficient way of moving the image data into a frame buffer in memory. Because of this it can support much higher resolution images than we are currently doing so in the demos.

    Hope this helps

    Steven
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    --- Quote Start ---

    Hi skravats.

    I&#39;ve a question for you about your Por Ref Plat.

    The exe file at the bottom of the page, is a kind of "filling system" where the user can personalize his own system doing the appropriate connection?

    Let me explain my project.

    A CMOS camera, I2C\SCCB\ interface, is connected to PROTO1 block by a Daughter Board.

    Using the altera developmenat board EP2C35, fpga Cyclone II, i must catch pixels and whole frames from that camera using Nios II and Quartus II software.

    My first problem is how to read datas from camera because i tried to use Pios for doing this after have seen the templates files on Nios II software. I thougt that the method used to catch the switches status was the right way for catching datas from an external peripheral like a camera,so pios should be ok. But, this solution wasn&#39;t right.

    Can you explain me,what have i to use?

    On while i will read your exe file. I wanna ask you this first because if this is not the right solution for my project i try to find other infos. http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/unsure.gif

    Many thanks.

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=19864)</div>

    --- Quote End ---

    1.

    The .exe is an installer. It will install all the Quartus Projects, SOPC Builder projects, HDL Intellectual Property, Software projects etc & Documentation on your PC.

    2. There were two peripherals custom created to interface to the Camera. The first is the Camera Slave. It interfaces to the camera and captures the pixel data from the camera into an internal fifo buffer. The fifo output is presented to the sopc system in the form of a memory mapped register. Any avalon master can read this register and thus gather the pixel data. This master could be a Nios II processor or any other avalon master. We also created the Camera Master Peripheral. This peripheral is connected to the camera slave. It reads the pixel data from the camera slave&#39;s data register and writes it to a frame buffer in memory. In this way an entire image 640x480 is written into a frame buffer in memory. Please read the data sheets for the camera master and slave. The camera master provides an extremely efficient way of moving the image data into a frame buffer in memory. Because of this it can support much higher resolution images than we are currently doing so in the demos.

    Hope this helps

    Steven

    Hi again rfrazer.

    The documentation on these exe file is really really huge.

    For a beginnner like me,it&#39;s hard to understand something well.

    What i want understand at first, is how to interface the camera with the system,or better, how can i place pins camera in a "block" that will be readable from system?

    Probably i should write HDL file for creating the interaface with the camera,but that&#39;s not simple.

    In general,what&#39;s the first step to do?

    Thank you http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/ohmy.gif
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi again rfrazer.

    The documentation on these exe file is really really huge.

    For a beginnner like me,it&#39;s hard to understand something well.

    What i want understand at first, is how to interface the camera with the system,or better, how can i place pins camera in a "block" that will be readable from system?

    Probably i should write HDL file for creating the interaface with the camera,but that&#39;s not simple.

    In general,what&#39;s the first step to do?

    Thank you ohmy.gif
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi rfrazer.

    I&#39;ve others questions about Port Ref Platform file.

    1)Eventhought all files are ok, projects,SOPC&#39;s, programmer too, Nios II gives me some problems after Build Project.So i&#39;couldn&#39;t try your program yet

    2 error: `OC_I2C_MASTER_0_BASE&#39; undeclared (first use in this function)

    referred to ------->IOWR_OC_I2C_MASTER_CTR(I2C_BASE, 0x00);

    2 error: `OC_I2C_MASTER_0_BASE&#39; undeclared (first use in this function)

    temp = IORD_OC_I2C_MASTER_SR(I2C_BASE);

    Every files on your folders have been imported in Nios II

    2) I tried to use your blocks in my project, in particular camera_dma and camera_if.

    Every files on your folders have been imported in SOPC Builder,so these components are available.

    I merely placed these blocks and i followed what was written on you pdf files for Avalon Slave and Master. Connections are right BUT there&#39;is a conflict on addresses.

    camera_dma_0\pixel_reader: cannot access camera_if_0\avalon_fifo_slave at base address 0x3211124.Allowed range is 0x0 to 0xF

    camera_dma_0\sync_master:cannot access camera_if_0\avalon_control_slave at base addresses 0x3211120.Allowed range is 0x0 to 0xF.

    I&#39;ve tried to use Auto assignements addresses and IRQs but the problem still remain.

    How can i do??

    Thank you

    Paolo
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    originally posted by tonnoplast@Dec 9 2006, 03:50 PM

    hi rfrazer.

    i&#39;ve others questions about port ref platform file.

    1)eventhought all files are ok, projects,sopc&#39;s, programmer too, nios ii gives me some problems after build project.so i&#39;couldn&#39;t try your program yet

    2 error: `oc_i2c_master_0_base&#39; undeclared (first use in this function)

    referred to ------->iowr_oc_i2c_master_ctr(i2c_base, 0x00);

    2 error: `oc_i2c_master_0_base&#39; undeclared (first use in this function)

    temp = iord_oc_i2c_master_sr(i2c_base);

    every files on your folders have been imported in nios ii

    2) i tried to use your blocks in my project, in particular camera_dma and camera_if.

    every files on your folders have been imported in sopc builder,so these components are available.

    i merely placed these blocks and i followed what was written on you pdf files for avalon slave and master. connections are right but there&#39;is a conflict on addresses.

    camera_dma_0\pixel_reader: cannot access camera_if_0\avalon_fifo_slave at base address 0x3211124.allowed range is 0x0 to 0xf

    camera_dma_0\sync_master:cannot access camera_if_0\avalon_control_slave at base addresses 0x3211120.allowed range is 0x0 to 0xf.

    i&#39;ve tried to use auto assignements addresses and irqs but the problem still remain.

    how can i do??

    thank you

    paolo

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=19929)

    --- quote end ---

    --- Quote End ---

    Hi Paolo

    Did you build this design or use one of the existing examples? If you can, please open the camera_demo project in Quartus. Then launch SOPC Builder and see if you can generate. Then import the camera_demo sw files into a new software project in the Nios II IDE. If you use the existing hardware design, then everything should be connected appropriately. Let me know if that works better. There are guidelines in Chapter 4 & 5 of the Portable_reference_platform.pdf doc.

    Regards

    Steven
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi steven.

    I used only files inside your exe file,so i didn&#39;t build anything different:

    1) camera_demo\standard (project file);

    2)SOPC --> Generate (that&#39;s ok);

    3)Place new component on schematic standard file ready made;

    4)Start compilation (ok);

    5)programmin (ok);

    6) Nios II,new,c\c++ project;

    7)name(camera_demo),SOPC(sopc generated file),cpu(cpu),blank project;

    8)camera_demo-->Import-->file system-->path\camera_demo-->(ok)

    9)all files.h and files.c are been imported;

    10) camera_demo-->Build project--> ERROR (those messages appear);

    If i try to use your block (camera_dma,camera_if) i&#39;ve address error.

    What&#39;s wrong??

    Bye

    Paolo