This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1020-CC1070DK Parallel port

Other Parts Discussed in Thread: CC1020, CC1010

Hi,

We have bought a CC1020-CC1070DK kit to evaluate the CC1020 as a replacement for Radiometrix Tx/Rx modules we use in an existing design.

The kit has arrived and I downloaded the SmartRF Studio software as instructed in the leaflet enclosed. Having installed 'SmartRF Studio 7 v1.3.2 (Rev. G)' I could not find any reference in it to the CC1020?

I then noticed the 'SmartRF(TM) Studio 6.13.1 (Rev. S)' link and downloaded it. This does have the option to choose the C1020 but when trying to configure it for my parallel port ( configuration menu -> select port.....) it only offers me port addresses '0x378 0x278 0x3cb' which are the hardware addresses of parallel ports integrated on PC motherboards. All our development PC's have parallel ports (which are used successfully with Altera byteblaster JTAG cables) but they are PCI cards, I can't recall any PC arriving here with a motherboard parallel port for several years :-(.

So how can I get the CC1020-CC1070DK to work with a PCI parallel port card?

OS is windows XP 32bit if that matters.

Regards, Mark Leman

  • Hi Mark,

    This is only guesswork - I don't have the means to test this out myself, but I would believe that the parallelports on your PCI expansion board would map to the addresses mentioned. So typically, LPT1 is 0x378, LPT2 is 0x278 and so on. The hardware driver for the PCI parallelport card would handle the memorymapping in order to seemlessly provide parallelport access for legacy systems.

    And you're right - you currently need SmartRF Studio 6 to work with CC1020. The Studio product page on the web will be updated to reflect this better.

  • Hi and thanks for the reply.

    A PCI parallel port does not normally appear at 0x378 etc, looking at the two I have in this machine they are at 0xAC00 and 0xC400.

    It is possible to remap cards down to the legacy ISA address space (0x378 etc) and the drivers for some cards we have looked at offer this under windows95/98. I have never found a card that is able to do this under windows XP and I have looked for a long time (we have some old CNC software that is secured using a parallel port dongle which will only work with ports in the ISA address space).

    So at the moment I have a nice new eval kit I can't use :-(

    Regards, Mark Leman

     

  • I may have to eat my words.... having just found http://www.sunix.com.tw/product/par5008d.html which claims to allow the port to be remapped down to the ISA address space and the date on the user manual is 2010! Now I just need to find out where to buy some...

    It would still be a good idea to have RFstudio6 updated to support add in cards, others must have suffered from this problem.

    Regards, Mark Leman

  • Isn't it possible to let the Windows device manager handle this remapping for you? If you open the device manager, locate the the parallelport device, right click and select Propoerties. You should now get a dialog with several option. Choose the Port Settings tab and see if you can select one of LPT1 through LPT3 for the port i question.

  • Yes you can set LPT1,2 or 3 and they appear in device manager this way but I don't think this actually moves the IO base address to the ISA address space, I think it just changes the 'name' of the device.

    There is also tick box for 'enable legacy plug and play detection' which it ticked. I may have to try with this disabled.

    The address of the device can be seen on the recources tab in the same window.

    Regards, Mark Leman

  • Hi,

    I spent several hours last night looking for PCI cards which could be remapped - goggling will reveal many people trying to do the same to support older applications, but I did not manage to find any definite reports of success :-(. Several manufactures of cards even said their cards could definitely not be remapped under XP (but could under W95/98)

    So, I decided to change track and look at how RFStudio6 could be modified to work with PCI parallel ports. I noticed that it uses TVicPort.sys from entech (http://www.entechtaiwan.com/dev/port/index.shtm). A colleague who has used this library in the past tells me that it should be able to access the PCI address space.

     

    Please can you put me in contact with the developer responsible for maintaining RFstudio6 so we can come up with:

     

    1)       A quick and dirty hack to allow me to get on with evaluating these chips.

    2)       A long term solution…..

     

    Regards, Mark Leman

     

  • I managed to borrow 10mins of my collegues time and he recompiled the TVicPORT demos we downloaded from entech. This demo  provides a user interface to read/write the pins on a parallel port, but more importantly it also allows you to enter the port address!

    If I enter AC00 as a port address I can control the pins on my LPT1 :-)

    So I think it would be fairly staight forward to modify RFStudio6...... who do I talk to? ;-)

    Regards, Mark Leman

  • Hi,

    'M' are you able to put me in touch with the developer who is responsible for maintenance of RFStudio6?

    In desperation I have searched the SRFS.exe for references to the port addresses (0x378, 0x278 & 0x3CB*), I found all three of them in close proximity and disassembled the code in that area to confirm, then patched the code with my 0xAC00* port addresses. However this has not worked :-(.

    I bought the eval kit to save time and allow a quick look see if these parts were suitable for our application but soon it would have been quicker to design a test board of my own!

    Regards, Mark Leman

     

    * remembering that intel CPUs are little endian so search for 0x7803 0x7802 0xcb03 and replaced with 00AC.

  • I'll see what can be done in order to help you out.

  • Hi Mark,

    I have been asked to have a look at this problem. I have to admit that I'm a bit on thin ice. Problem is that the guys that implemented this years ago is not available anymore and no maintenance have been required since they left.

    Attached you will find a "hack" where I have added to possibility to select the addresses 0xac00 and 0xc400. I have not been able to do any testing. When debugging the code I can see that the address is set and used when reading and writing to the port. Writing is performed with the selected base address and reading is performed with base address + 1.

    If you have time and want to try you can unpack the attached zip file and start the SRFS.exe. The applicable chip to use is saved in the register settings from previous sessions with SmartRF Studio. Unless you have used something else than CC1020, it shouldn't be any problem. Alternatively you can replace the SRFS.exe from the installed version of SmartRF Studio.

    With a bit of luck it will work. : -)

    Regards,

    Øyvind

    cc1020_executables.zip
  • Hi,

    Thanks, that appears to work :-)

    I can see the PSEL / PCLK / PDI pins moving with sensible looking signals on them.

    I can control the LOCK pin with the 'disable low' and 'disable high' settings :-)

    Now I can start to get to grips with this chip!

    Thanks again for your support.

    Regards, Mark Leman

  • Hi ! Excuse me, i have the same problem as Mark, but with the software "CC1010 Flash program utility".

    I only can select "LPT1" in the port options of this software, but i have a LPT PCI card in the memory position "E010-E017" (its named LPT3 by Windows XP)

    Please, can you modify this software in the same way you did with Mark and his problem? Or can you give me another solution?

    Thanks in advance.

    Regards,

    Darío.

  • Hi Dario,

    I have been looking at the code for this flash programming utility and this case is not as easy as the previous. The "LPT1" option is something that is provided by the "tvicport" driver. A check is done with the base port address 0x378 to find the number of parallel ports. in your case it obviously only return the "LPT1". Could you have a look at the device manager for some more details about the LPT3 port? Like the example below.

    Is the memory position "E010-E017" taken from here?

    There is also another address that is used in the code: "physical low address" and I don't know what it means. So even if I replace the 0x378 with 0xE010, I don't know if this is all that is required. I have changed the code and rebuilt the application, but I would be surprised if it is working.

    Regards,
    Øyvind

    ccprog.zip
  • HI Øyvind,

    First of all, i appreciate your help.

    Unfornunately, the application still does not work.

    Yes, i take the address "E010-E017" from here:

    Windows named this port as "LPT2", but in the app (original version and your modified version) only appears "LPT1" in the options.

    (Yes, my pc has a LPT1 port "onboard" too, but this has not the "bracket connector" installed in the motherboard... so, its recognized by windows as 0x378 and LPT1, but i cant use it. For that, i bought a Pci card LPT)

    I think the simplest solution for my problem will be, find a connector for my LPT1 onboard, or another computer :)

    Anyway, thanks a lot for your help.

    Regards,

    Dario.