FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
6187 Discussions

HSMC GPIO Daughter card.

Altera_Forum
Honored Contributor II
5,062 Views

I have a question regarding the gpio-hstc card (http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=67&no=322&partno=1). I'd like to use this board to expand the gpio of my DE2-115 dev. board. In the documentation it states that the HSMC connector pins are connected to GPIO pins. Am I correct in thinking that there is no need for a driver in my design? Meaning I can just map a HSMC pin as if it is a GPIO pin, or do I need to do something more.  

 

If you have any tips regarding the use of the board, I'd like to hear them as well.
0 Kudos
18 Replies
Altera_Forum
Honored Contributor II
1,998 Views

Yes, you are correct. This adapter map HSMC pins only. Not need to have special driver

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

thank you. I'll try to remember to post any tips I might think of when I have finished this project.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Well I had a lot of other stuff to get working before I managed to do something with this adapter. But found that I had trouble when using the HSMC_TX_D_P[9?]. This is assigned to the same pin as nCEO. I remember reading something about this but I could not remember the solution. After about 30 minutes I remembered having a similar problem with another board once (I beleve it was the DE2-70) where a pin was configured as a programming pin.  

 

So for others who encounter this and immediately search this forum:  

1. Go to Assignments->Device->Device and Pin Options... 

2. Open menu Dual-Purpose Pins 

3. Set nCEO from "Use as programming pin" to "Use as regular I/O".
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

For others who would like to use this adapter, I will give my pin assignments file and the pinout I got from Terasic. I still have one problem, the HSMC_RX_D_N(15) is always high. If I have figured out why, I will post this as well.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Hi there, 

 

Thanks for sharing the tips with others. I had the same problem when I built a new project from scratch for the first time.  

 

Could you upload your project or send it to our support mail at support@terasic.com ? We'd like to take a look and see what's going on here.  

 

David from Terasic
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

@David, I will send you a mail in a couple of days. Is there other info you will need? 

[edit] 

Do you also need all the VHDL files, or is just the project enough? 

If you want the vhdl code I can setup an example.
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Hi there, 

 

If it's alright with you, a complete project would be nice.  

 

I would like to get started by compiling the project here. I'll keep you posted if we need any other info.  

 

Thanks, 

 

David from Terasic
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I have setup a quick test which has the same problem. It is always 2.12/2.11 volts whithout attaching any load, just a multimeter. Attached is the project and the sof file for a DE2-115 board with the Daughter card. I know the coding might not be as it should, but it is something I have quickly set up.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I am beginningn to think we need to start a new thread about the pin voltage. I just found out that HSMC_TX_D_p(16) gives 2,38V when high, and HSMC_RX_D_p(15) provides 2,42V. This seems to be a small difference, but I use these two pins (among other pairs with similar problems) to control a motor[controller], and then it transmits a PWM signal, and the difference becomes a problem. The motor does turn one way, but not the other. Any suggestions? Should I change the jumper to select another IO standard, this might make the difference proportionally smaller, but the main problem still exists.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

@David, Do you know some workaround? I have done all other things on my project for now, and really need the extra IO in order to continue.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Hi there, 

 

Your project gave funny numbers at HSMC_TX_D_p[16] (0.38V) and HSMC_RX_D_p[15] (0.34V), so I decided to start it all over by launching the DE2-115 system builder and keeping HSMC as default (you still have to select HSMC Default in the drag-down column).  

 

After making sure the jumper at HSM_VCCIO is installed on 2.5V, I then powered up the board I got 2.51V at both HSMC_TX_D_p[16] and HSMC_RX_D_p[15].  

 

I've uploaded my project here for your reference. I understand it still doesn't explain why there's a small difference, but at least you could give it a try over there and see how it goes, given that I couldn't duplicate your result based on the project that you uploaded.  

 

David from Terasic
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I'll try this and will get back to you with the results.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I modified it to set all HSMC bidir and outputs high. 

assign HSMC_TX_D_P = 'b11111111111111111; assign HSMC_RX_D_P = 'b11111111111111111; assign HSMC_TX_D_N = 'b11111111111111111; assign HSMC_RX_D_N = 'b11111111111111111; assign SMC_CLKIN0 = 1; assign HSMC_CLKOUT_N1 = 1; assign HSMC_CLKOUT_N2 = 1; assign HSMC_CLKOUT_P1 = 1; assign HSMC_CLKOUT_P2 = 1; assign HSMC_CLKOUT0 = 1; 

And all gave about 2.44V. 

 

When making them all 0 among others, pin 

RX_D_N(16) gave 1.72V and 

RX_D_N(15) gave 2.11V. 

 

Later today I will try this with my project and post the results
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I have followed your steps for creating a project exactly and found that a lot of pins do change, but not trough the full range. For example HSMC_RX_D_n16 Switches between 1.6 and 2.6 volts. Maybe this is something in Quartus? I use Quartus II 64-Bit Version 15.0.0 Build 145 04/22/2015 SJ Web Edition, no patches installed. I run this on a Windows 8.1 system.

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Does anyone have an idea on how to fix this?

0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Hi there, 

 

Sorry for my late reply.  

 

I'll download your project and take some measurements to see how it goes. 

 

Thanks, 

 

David from Terasic
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

I have done some measurements myself and have sent them to Terasic. They told me it might be damage to the IO of the FPGA. It might be an incorrect IO setting, but that was discussed before and is, for me, not the case. They think the latter more likely and they suggest I don't use the pins. 

 

Attatched you'll find my measurements from all IO pins.
0 Kudos
Altera_Forum
Honored Contributor II
1,998 Views

Hi there, 

 

I went through the mail and discussed with my colleague from the technical support team. It seems there's misunderstanding here, as your measurements were wrongly recognized as the result based on our default code instead of the new voltage test.qar that you uploaded.  

 

I've asked my colleague to try your project and compare it with a blank project generated by the system builder but loaded with your code. I'll post up the result here when it's done. 

 

Thanks, 

 

David from Terasic
0 Kudos
Reply