MAX1000 Erfahrungen

Gast #5141761
Lesenswert?

das MAX1000 verwendet einen MAX10 FPGA von Altera/Intel. Dementsprechend 
kannst Du Quartus in der kostenfreien Variante zum Entwickeln nehmen.

Die Funktionalität (z.B. Bin Counter) und Deine Schnittstellen nach 
außen (Ports) beschreibst Du in VHDL (oder Verilog). Das Mapping 
zwischen den Ports und den GPIOs erfolgt dann über ein Constraints File, 
welches Du entweder über die Quartus GUI erstellen kannst oder auch über 
einen einfachen Texteditor.
Gast #5182549
Lesenswert?

Hier das Blink Programm mit den Pin Assigments
1
set_location_assignment PIN_A8 -to led
2
set_location_assignment PIN_H6 -to clk


Der On-Board-Clock ist 12MHz. Wie muss ich vorgehen, damit ich den 
internen ClK auf z.B. 50MHz bekomme?
1
LIBRARY ieee;
2
USE ieee.std_logic_1164.all;
3
USE ieee.numeric_std.all; -- needed for the '+' operator for SIGNED and UNSIGNED data type
4

5
ENTITY blinker IS
6
  PORT( 
7
      clk : in  STD_LOGIC;
8
      led : out STD_LOGIC
9
    );
10
END blinker;
11

12
ARCHITECTURE logic OF blinker IS
13

14
  SIGNAL clkCounter : UNSIGNED( 22 downto 0 );
15
      
16
BEGIN
17

18
  PROCESS(clk)
19
  BEGIN  
20
    IF rising_edge( clk ) THEN
21
      clkCounter <= clkCounter +1;
22
      led        <= clkCounter( 22 ); -- output the highest bit to the led
23
    END IF;
24
  END PROCESS;
25
  
26
END logic;
Gast #5182594
Lesenswert?

... und den richtigen Pin nehmen. Bei dem fest verdrahteten PCB von 
Trenz sollte das richtig gelöst sein. Es scheint aber FPGA-Spezis zu 
geben, die von der Thematik noch nichts gehört zu haben scheinen und den 
Takt einfach irgendwo draufgeben, wenn sie ein PCB bauen, wie man 
gestern in einem anderen Forum hat lesen dürfen. Dann wundern sich die 
Leute, warum man mit den PCBs nix anfangen kann und mal gleich 20 neue 
machen lassen muss.

Beim Max1000 scheint es kritisch zu sein mit der Taktverdrahtung.
Gast #5183014
Lesenswert?

Danke für die Antworten.
Wie oben beschrieben ist es
1
set_location_assignment PIN_H6 -to clk

Ich hoffe doch, das die Entwickler bei Trenz soweit gedacht haben, dass 
man diesen Pin für die PLL nehmen kann.
Ansonsten würde mir ein "quick hack" einfallen: einfach die 12MHz auf 
einen Pin raus routen und von dort wieder ein Kabel zu einem PLL fähigen 
Pin ziehen.
Gast #5183048
Lesenswert?

>Eine PLL instanzieren, die den entsprechenden Takt erzeugt:
>IP Catalog -> Library -> Basic Functions -> PLL -> ALTPLL

Tja, wenn's so einfach wäre, könnte es ja jeder ...
Wenn ich auf auf

Tools -> IP-Catalog drücke passiert .... nichts.

Auf meiner Festplatte sehe ich, dass es einen Altera-Ordner mit IPs 
gibt:

../Altera/Quartus/ip/altera/altera_pll

Aber irgendwie scheint Quartus nichts von den IPs zu wissen.
Wo muss man das einstellen?
Gast #5183176
Lesenswert?

chris schrieb:
> Aber irgendwie scheint Quartus nichts von den IPs zu wissen.
> Wo muss man das einstellen?

Ich habe auf meinem Rechner nicht die neuste Version,
bei älteren wird unter "Tools/MegaWizard PlugIn Manager"
eine DFialogbox geöffnet, der Rest ist mehr oder weniger
selbsterklärend.

Damit eine PLL zu erzeugen ist sehr einfach.
Gast #5183400
Lesenswert?

Sigi schrieb
>Ich habe auf meinem Rechner nicht die neuste Version,
>bei älteren wird unter "Tools/MegaWizard PlugIn Manager"

Danke, das ist schon mal ein Hinweis.
Unter Tools findet es sich zwar nicht, sondern dort muss man "Qsys" 
starten.
Wenn man in Qsys dann eine der IPs anklickt ( komischerweise sind die 
Altera-Pll IPs ausgegraut, dafür aber eine Avalon PLL anklickbar), 
öffnet sich dann der MegaWizard.

Ich kann die Avalon-Pll auswählen und konfigurieren, das Tool meckert 
aber die ganze Zeit, dass die Anschlüsse nicht verdrahtet sind.
Angehängte Dateien:
Gast #5183613
Lesenswert?

chris schrieb:
> Sigi schrieb
>>Ich habe auf meinem Rechner nicht die neuste Version,
>>bei älteren wird unter "Tools/MegaWizard PlugIn Manager"
>
> Danke, das ist schon mal ein Hinweis.

Ich habe bis jetzt kaum mit den neusten Quartus-Versionen
gearbeitet, ich sehe jetzt gerade, dass seit 14.x kein
MegaWizard mehr unterstützt wird. In Quartus Prime wird
es wie Oben schon von  Markus F. beschrieben gemacht
(sorry für meine Irreführung).

Schau mal im Quartus Handbuch nach, in der neusten Version
steht unter "Introduction to Altera® FPGA IP Cores" es ab
"1-12".

Btw. Die Verwendung unter Qsys impliziert iA ein Avalon
Bussystem, und das willst du in einer einfachen Anwendung
garantiert nicht.
Gast #5183808
Lesenswert?

Mit dem Video kann ich zwar einen Qsys-Block erzeugen, den ich 
vermutlich einfach in mein Top-Design einhängen kann, aber das Problem 
ist: er hat nur einen Reset- und Clk-Input, aber keinen Clk-Output und 
genau den bräuchte ich ja.
Hat irgend jemand eine Idee, wie ich in Qsys einen Output hinzufüge, den 
ich dann in mein Top-VHDL einbinden kann?
Gast #5183828
Lesenswert?

chris schrieb:
> Hat irgend jemand eine Idee, wie ich in Qsys einen Output hinzufüge, den
> ich dann in mein Top-VHDL einbinden kann?

Da ich gerade eine ältere Version benutze hoffe ich
mal, dass ich dir nicht wieder falsche Infos gebe:
In Qsys erzeugst du eine PLL (aufpassen!, es gibt
verschiedene, nicht alle werden von allen Familien
unterstützt), bei mir ist es gerade eine ALTPLL
mit INCLK als CLK-Input und C0 als PLL-CLK-Output.

In der Spalte "Export" musst du in der C0-Zeile
einen Namen eintragen (=> Signal wird zu einem
Conduit-Signal, d.h. kann von der einbindenden
VHDL-Komponente benutzt werden). Damit sieht die
Qsys-Komponente evtl. wie folgt aus:
1
component unsaved is
2
port
3
(
4
  clk_clk       : in  std_logic := 'X'; -- clk
5
  reset_reset_n : in  std_logic := 'X'; -- reset_n
6
  pll_clk       : out std_logic         -- clk
7
);
8
end component unsaved;
Gast #5183902
Lesenswert?

Jetzt habe ich die PLL mal auf 200MHz hoch gedreht.
Es blinkt immer noch ;-)
Ich nehme das Bit22 eines Zählers, die Leuchtdiode blinkt gemessen mit 
23.4Hz

Mal rechnen:
200MHz / 2^22 / 2 = 28.842
passt ;-)
Wie hoch kann ich wohl mit der PLL gehen?
Gast #5184597
Lesenswert?

>Arduino-Pinning angelehnt

Arrrgh ... es hat tatsächlich etwas Arduino-mässiges, nämlich eine 
idiotisches Pin-Rastermaß: Während die beiden langen Reihen gut in das 
2.54mm Rastermaß passen und damit auf ein gewöhnliche Prototypenplatine, 
ist die senkrechte dazu um 1.27mm versetzt :-(
Gast #5184615
Lesenswert?

chris schrieb:
> Die Namensgebung der Anschlusspins des Boards scheint ein wenig an das
> Arduino-Pinning angelehnt ( D0..D14, AIN0..AIN7 ), auch die geringe Zahl
> der Anschlüsse.

Es wird ja auch als kompatibel zum Arduino MKR-Standard beworben, der 
mit dem Arduino MKR1000 eingeführt wurde (He sogar der Name des Boards 
hat ja eine gewisse Ähnlichkeit - so ein Zufall).

Der Vorteil gegenüber einem eigenen Pin Layout ist halt, dass man schon 
vorhandene "Shields" und Prototypen Boards verwenden kann (siehe die 
Angebote zu MKR1000 bei Arduino). Aber dieser neue Standard scheint sich 
nicht so richtig durchzusetzen.

Andi
Gast #5184629
Lesenswert?

chris schrieb:
> Arrrgh ... es hat tatsächlich etwas Arduino-mässiges, nämlich eine
> idiotisches Pin-Rastermaß: Während die beiden langen Reihen gut in das
> 2.54mm Rastermaß passen und damit auf ein gewöhnliche Prototypenplatine,
> ist die senkrechte dazu um 1.27mm versetzt :-(

Die es ja auch nicht fürs steckbrett sondern für Pmod gedacht, also eine 
abgewinkelte Stiftleiste für (seitliche) Ansteckmodule bzw. über 
Flachbandkabel angeschlossene. 
http://store.digilentinc.com/pmod-modules/
Gast #5185488
Lesenswert?

chris schrieb:
>>Arduino-Pinning angelehnt
>
> Arrrgh ... es hat tatsächlich etwas Arduino-mässiges, nämlich eine
> idiotisches Pin-Rastermaß: Während die beiden langen Reihen gut in das
> 2.54mm Rastermaß passen und damit auf ein gewöhnliche Prototypenplatine,
> ist die senkrechte dazu um 1.27mm versetzt :-(

Ist vielleicht Absicht, weil ein Steckbrett an dieser stelle einen 
Kurzschluss zwischen 3V3 und GND auf dem PMOD verursachen wurde. Anbei 
mit aufgelöteteten Anschluss fürs Pmod da würds wohl deutlich das die 
kurze Leiste nicht fürs Steckbrett gedacht ist.
Angehängte Dateien:
Gast #5185513
Lesenswert?

Steckbretter verwende ich eher selten, weil es dort oft Wackelkontakte 
gibt.
Lieber löte ich ein paar Buchsenleisten auf eine Lochrasterplatine und 
stecke dann das FPGA-Board auf die Platine.
Auf diese Prototypenplatine löte ich dann noch die restliche Peripherie, 
sodass das Ganze relativ stabil wird.

Wenn ich das mit den Maßen vorher gemerkt hätte, hätte ich den 
PMOD-Stecker auch oben drauf gelötet. Aber jetzt ist es zu spät und wenn 
es jetzt entlötet würde, könnten die Pins ausreisen. Deshalb lasse ich 
es jetzt mal so und ärgere mich lieber noch ein wenig ;-)
Gast #5186368
Lesenswert?

chris schrieb:

> Wenn ich das mit den Maßen vorher gemerkt hätte, hätte ich den
> PMOD-Stecker auch oben drauf gelötet. Aber jetzt ist es zu spät und wenn
> es jetzt entlötet würde, könnten die Pins ausreisen. Deshalb lasse ich
> es jetzt mal so und ärgere mich lieber noch ein wenig ;-)

Kenn ich, da grübelt man stundenlang wie man möglichst "schmerzfrei" 
seine Hardwareumgebung ans board bekommt und kaum ist der Lötkolben 
kalt, weiss man wie man es besser gemacht hätte :-0 - da vermisst man 
ein paar Kit-aufbau Tipps und -Anleitungen vom boardhersteller. 
Wenigstens ist das board nicht so teuer, als dass man nicht eine neues 
kaufen kann.

Steckbretter nutze ich auch kaum, löte die Evalboards aber auch nicht 
als Ganzes auf ein Lochraster fest. Dann schon eher eine kleine 
Lochraster als eine Art modul die dann mit Patchwires, Flachbandkabel an 
das Evalboard gesteckt wird.
Gast #5186986
Lesenswert?

chris schrieb:
> Da habe ich hier gerade was entdeckt:
> http://gnarlygrey.atspace.cc/development-platform.html
> Der Preis scheint extrem günstig. Könnte man mit dem Board was anfangen?

Ich habe inzwischen 3 davon, man kann also schon was anfangen damit.
ABER das Layout und die Qualität des Platinchens ist schrecklich. Du 
musst ein paar Stützkondensatoren selber dazubasteln, vor allem den 
fehlenden an der PLL Versorgungsspannung, sonst ist die PLL mehr ein 
Zufallsgenerator.
Ausserdem ist kein Programmieradapter drauf, man kann ein FT2232 
Breakoutboard verwenden, oder einen RasPi, auf dem man aber nicht 
entwickeln kann, da die IceCube Software nicht auf ARM läuft.
Hier schildern andere ihre Erfahrungen:
https://www.element14.com/community/groups/fpga-group/blog/2017/09/30/gnarly-grey-upduino

Die IDE (IceCube 2) für die ICE40 FPGAs ist viel einfacher gehalten als 
Diamond oder Quartus, was ich aber eigentlich mag. Man braucht halt 
einen externen Editor um eingermassen komfortabel arbeiten zu können.

Die UltraPlus FPGAs sind nach meiner Erfahrung etwa 3 mal langsamer als 
MachXO2 oder Cyclone, sind ja auch auf minimalen Stromverbrauch 
getrimmt.
IceCube2 gibt zum Timing falsche, viel zu optimistische Ergebnisse. Oder 
vielleicht sind die FPGAs auf dem Board irgendwelche Vorserien Chips, 
die zu langsam laufen. Denn eigentlich sind die Chips noch gar nicht 
erhältlich, und der Preis eines Chips ist etwa gleich hoch wie das ganze 
UPDuino Board.

Trotz all den Problemen spiele ich seit 3 Wochen fast täglich damit 
herum, die 5k LUTs, das 128kByte grosse Ram und die 8 DSP Blöcke dieses 
QFN48 FPGAs zu dem Preis sind einfach zu verlockend.

Andi
#5191413
Lesenswert?

Ja ich,
nimm den 1.9 Treiber der Rev.1/0
Musst dann noch die Konfiguration des FTDI ändern.
In dem anderen Max1000 Thread hier im Forum hat jemand nettes die 
Konfiguration für ftprog von der Rev.1 hochgeladen.
Also:
1. Konfiguration aus dem anderen Thread holen
2. FTDI umflashen (ftprog unter wine oder anders..)
3. Linux Treiber der Rev.1 verwenden

=Läuft wunderbar...
Gast #5191426
Lesenswert?

Achja wäre super wenn jemand die Konfiguration (ftprog) der Rev.2 noch 
auslesen könnte und hier hochladen. Dann kann man, wenn der neue Treiber 
endlich da ist, einfach wieder zurückwechseln bzw. dann auch diesen 
verwenden.

Ich hab es nämlich verpennt...
Gast #5201282
Lesenswert?

Mittlerweile gibt es im Forum von Trenz ein paar Beispiele für das 
Max1000 Board.

Hier das Wasserwagenbeispiel, welches den Beschleunigungssensor benutzt:
https://forum.trenz-electronic.de/index.php/topic,759.0.html

Am Einfachsten scheint es wohl gewesen zu sein, eine NIOS MCU zu 
implementieren und das Ganze mit einem Prozessor zu machen.

Ich habe die Files mal ein wenig durchstöbert. Wo finde ich denn den 'C' 
die bei dem Beispiel auf dem NIOS laufen?
OP #5204013
Lesenswert?

Ich habe jetzt aus den Beispielen von Trenz das Nios-Tutorial 
erfolgreich absolviert, ich fand es ziemlich gut und präzise gemacht.

Nun weiss ich, wie ich Blöcke mit dem Qsys Tool "zusammenklicke", aber 
mir ist noch nicht klar, wie ich eigene VHDL/VERILOG Module an den 
NIOS-Core anhänge. Ich finde bei der Qsys-Klickerei wird einem nicht 
ganz klar, was ich im Hintergrund eigentlich wirklich abspielt.

Kann man den NIOS-Core eigentlich auch (suzusagen bare metal) direkt in 
VHDL oder VERILOG instanziieren? Wenn ja, wo steht beschrieben wie es 
geht?
Beitrag #5218392 wurde von einem Moderator gelöscht.
#5230050
Lesenswert?

Bin gerade dabei mir einen Adapter zu bauen...
1. Habt Ihr noch Ideen was sinnvoll wäre?
Gibt ja noch 2 Pins (A7 und D14 genannt) welche noch über wären.
Genauso könnte ich jetzt noch die ganzen anderen "Zusatz"-Pins, die das 
Max1000 hat, runterführen. Weiß aber nicht wofür...
2.Wie kann / muss ich Schaltpläne (und den Rest später) kenntlich 
machen, wenn ich es unter die OSHW Lizenz Stellen will?
3. Wäre es noch sinnvoll ggf. bei den "Digitalen Signalen" also die 
D0-D13 einen 5V/3.3V (über Jumper) Pegelwandler TXS0108 einzufügen um 5V 
Shields nutzen zu können?

Achja ich habe mich an der Belegung des MKR2UNO orientiert wodurch 
dieses durcheinander an den Pins kam.

Sorry, bei der einen PDF hab ich eben entdeckt, dass Q3 noch falschrum 
war. Kann ggf. gelöscht werden von einem Mod.
Angehängte Dateien:
#5230434
Lesenswert?

No Y. schrieb:
> Bin gerade dabei mir einen Adapter zu bauen...
> 1. Habt Ihr noch Ideen was sinnvoll wäre?
> Gibt ja noch 2 Pins (A7 und D14 genannt) welche noch über wären.
> Genauso könnte ich jetzt noch die ganzen anderen "Zusatz"-Pins, die das
> Max1000 hat, runterführen. Weiß aber nicht wofür...

Vorschlag: Connector/Footprint für ein ESP8266 oder ESP32 Modul
(Möglichkeit zum Flashen des Moduls berücksichtigen)

> 2.Wie kann / muss ich Schaltpläne (und den Rest später) kenntlich
> machen, wenn ich es unter die OSHW Lizenz Stellen will?

OSHW Logo auf den silkscreen. Ggf auch die Lizenz, sobald Du Dich für 
eine entschieden hast. Selbiges für die Design files, dort die Lizenz 
mit beilegen.
https://www.oshwa.org/sharing-best-practices/best-practices-der-open-source-hardware-1-0/

Außerdem: Den Kopf nicht zu sehr über die Lizenz zerbrechen, bei solch 
einer einfachen Platine.
#5230489
Lesenswert?

Ja für die Platine ist es egal aber allgemein interessiert es mich. Für 
Platinen das Zeichen kenne ich, aber für Schaltpläne?

Hm, eure Vorschläge sind interessant aber für diese gibt es doch bereits 
Shields?!
Gäbe es was sinnvolles auf einen "Allgemeinen" Adapter?

Ich hab ja auch die Belegung so gewählt, dass man auch ein echtes MKR 
drauf stecken kann.

Meinungen bzgl. Pegelwandler?
#5230517
Lesenswert?

No Y. schrieb:
> Für
> Platinen das Zeichen kenne ich, aber für Schaltpläne?

Es braucht eine Lizenz. Siehe mein obiger Link.

> Hm, eure Vorschläge sind interessant aber für diese gibt es doch bereits
> Shields?!

Mein Gedanke war, die pin header des Shields für ein anderes Shield zu 
nutzen, zB touch lcd. Bzgl. ESP8266 dachte ich an einen Betrieb zB mit 
AT-Firmware.


> Meinungen bzgl. Pegelwandler?

Deine Motivation bzgl Deines obigen Schaltplans verstehe ich nicht. 
Jedoch kenne ich mich mit Arduino auch nicht aus.

Typischerweise hat man heute ein 5V-Netzteil mit mini-usb-Stecker(?)

Wie wäre es, für den Adapter die 5V vom MAX1000 zu nehmen (Adapter ohne 
usb-Buchse), oder aber 5V vom Adapter an das MAX1000 zu geben (Adapter 
mit usb-Buchse)?
#5230560
Lesenswert?

Intention ist billige Arduino Shields, die ich auch schon bei meinem DE0 
Nano SOC verwende, beim MAX zum spielen zu nehmen.
An sich, hat es nichts mit Arduino zu tun, hab selber auch gar keinen, 
nur die Shields gibt's halt billig aus China zum spielen...
5V kommen vom Steckernetzteil und werden über den Adapter ans MAX 
gegeben und versorgen auch die Shields sofern verwendet.
Es gibt halt leider immernoch dusselige 5V Shields für die UNOs...
Wenn man nur 3.3V Shields nutzt, braucht man keine Pegelwandler...

Es gibt ja auch das MKR2UNO von Arduino direkt aber 10€ für die paar 
Stecker und einen dicken LDO ist es mir nicht Wert...
Dann lieber was passendes Selbermachen...

Aber guter Hinweis, statt Rundstecker wirklich MicroUSB nehmen dann geht 
jedes Handynetzteil, aber es könnte auch jemand auf die Idee kommen und 
es an einem USB PC Port anzuschließen...hmmm
#5230590
Lesenswert?

No Y. schrieb:

> Aber guter Hinweis, statt Rundstecker wirklich MicroUSB nehmen dann geht
> jedes Handynetzteil, aber es könnte auch jemand auf die Idee kommen und
> es an einem USB PC Port anzuschließen...hmmm

An den Rundstecker kann ich aber 12V anschließen. Entsprechend Deiner 
Schaltung wird das auf die 5V-Rail gegeben. Verträgt dies das MAX1000?
Daher meine Frage, wozu der Aufwand mit den Transistoren...


Die Nutzung von Shields am MAX1000 finde ich ebenfalls interessant. (wie 
geschrieben: Eventuell Shield + WLAN)
#5230660
Lesenswert?

Er sieht Vin, der Max mag nur maximal 6v an seinem Schaltregler.
Die Transistorschaltung ist dazu da, dass das Shield erst mit Spannung 
versorgt wird, wenn der Max bereits versorgt wird, wegen Rückspeisung 
über Pins und Einschaltreinfolge.

Aber ja, ich denke ich Wechsel auf einen Micro USB.
Wenn ich es richtig machen will, nehm ich noch nen Baustein der die 
Versorgung aushandelt, gibt's von TI aber kein freundliches Package zum 
Handlöten...

Nehmt ihr alle für WLAN die ESP?
Hab privat Mal mit dem wiznet Chip gebastelt... Muss man bei ESP nicht 
viel erst selbst programmieren??
Auf der Arbeit nehm ich meißt ein Tiwi oder uBlox Ella aber benötigen 
halt sdio..
#5230686
Lesenswert?

No Y. schrieb:
> Nehmt ihr alle für WLAN die ESP?
> Hab privat Mal mit dem wiznet Chip gebastelt... Muss man bei ESP nicht
> viel erst selbst programmieren??
> Auf der Arbeit nehm ich meißt ein Tiwi oder uBlox Ella aber benötigen
> halt sdio..

Wiznet250 und ESP8266 liegen in meinem Schrank. ESP8266 habe ich noch 
nie benutzt. Ich dachte, für Low-budget ist ESP8266 angemessen.
Es gibt eine AT-Firmware, mit der das ESP8266 ähnlich angesteuert wird 
wie das Wiznet250. Selbiges gibt für ESP32.

https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf
http://espressif.com/sites/default/files/documentation/esp32_at_instruction_set_and_examples_en.pdf

http://stefanfrings.de/esp8266/

Falls sich hier zeitnah niemand anderes dazu meldet und Du ESP** mit 
drauf nimmst, dann informiere ich mich, welches Modul man am besten 
nimmt. ESP32 unterstützt auch BLE...
#5231167
Lesenswert?

So, also ich denke die ESP32 sind zu groß..
Was wäre denn besser ESP-01 Anschluss oder ggf. ESP-M3?
M3 ist kleiner und hat den ESP8285 drauf.
Andererseits gibt's den -01 Anschluss für den 8266 und 8285 zumindest 
gibts billige Module für beide beim Ali mit selben Anschluss...
Beitrag #5231313 wurde von einem Moderator gelöscht.
#5231386
Lesenswert?

Lars R. schrieb:
> . CH_PD und /RESET ebenfalls zum FPGA?

Bzw nur /Reset zwecks aufwecken/zurücksetzen.

http://stefanfrings.de/esp8266/esp_grundschaltung.png

Frage bzgl. Design:
. Soll das ESP auch auf dem Shield neu programmiert werden können?

Falls ja, so müssen dafür Pinheader (tx,rx,gnd) sowie "flash-button" und 
"reset-button" vorgesehen werden.

(
. Man könnte die Programmierung auch über den FPGA realisieren, aber das 
verkompliziert eventuell unnötig?
. Vgl. Flash-tool esptool.py https://github.com/espressif/esptool
. Ggf kann man UART durch den FPGA durchleiten)


Falls nein, so wird das ESP-Modul für ein Firmwareupdate einfach vom 
shield abgenommen.
Gast #5231399
Lesenswert?

Lars R. schrieb:

> Die Nutzung von Shields am MAX1000 finde ich ebenfalls interessant.


Arduino-Shields sind i.d.R. für einen langsamenen Mikrocontroller 
gemacht (ca. 16 MHz, weniger als 15 User-IOs). 
https://learn.sparkfun.com/tutorials/arduino-comparison-guide


Damit ist ein FPGA völlig unausgelastet, bspw. mit einen I2C 
AD-Wandler). Um den MAX1000 auszulasten bräuchte es ein Shield mit 
schneller Elektronik bspw ADU 50+MSps/ 10 bit Auflösung.

Um Shields zu betreiben ist ein Arduino die bessere Wahl.
#5231413
Lesenswert?

Naja,
hier so ein 3,2" SPI Shield ist doch ganz nett..

Ansonsten hab ich hier z.B. ein ALINX AN108 rumliegen leider nur nicht 
im Shield Format...:-(

Auch Richtung SDR wäre ganz nett.. Bin da shcon immer am Suchen aber es 
gibt nur ein "suboptimales shield" von Elektor. Oder kennt jemand was 
anderes?

Es geht ja nicht darum unbedingt Shields zu betreiben aber es gibt halt 
viel Arduino Kram den man dann einfacher an den MAX anschließen kann...

Ggf. kann man ja auch eigene "schnelle" Shields entwerfen welche dannn 
ggf. auch mit dem DE0-Nano oder den schnelleren STM32 Nucleo laufen...
#5231494
Lesenswert?

ADCs gibt es wie Sand am Meer, eine schicke kleine Platine wäre schon 
was. Am MAX sitzt ja ein FT232H glaube ich, aber da ist nur der UART 
angebunden, das ist etwas suboptimal. Aber z. B. für ein USB Oszilloskop 
reicht das ja auch aus. Die ADC Samples landen im BlockRAM und werden 
dann periodisch über UART abgeholt. Eine kleine Oszi Platine zum Basten 
wäre mal ein Projekt. Erstmal reicht ja auch ein Spannungsbereich aus, 
so von -10V ... +10V und die Skalierung macht man dann digital. Also nur 
ein billig USB Oszi zum Basteln. Wenn man die Samples dann am PC hat 
kann man ja noch alles Mögliche weiter machen wie UART Dekodierung, ...
#5231496
Lesenswert?

Ja es ist etwas "unpraktisch" aber reicht erstmal zum spielen..
Ggf. kann man ja auch die Eingangsbeschaltung anpassen...
Und was ich noch schauen wollte, ob es einen Pincompatiblen anderen ADC 
gibt.. Den würde ich dann tauschen.

Wie wäre es so etwas auf der Platine vorzusehen?
Geekcreit® DT-06 Wireless WiFi

Das wäre kompatibel mit den HC-06 dann kann man Bluetooth oder ESP 
benutzten...
#5231524
Lesenswert?

@Gustl:
Ein weiterer FT232H mit FIFO-Anbindung + ADC kann universell für alles 
mögliche verwendet werden. U.a. SDR.

Das oben erwähnte ALINX AN108 hat einen AD9280 (8Bit, 32Msps). Kostet ca 
6EUR netto.

Wenn man für diesen ADC fix -10...10V designed, so blieben für ein 
0V...2V-Signal nur noch 4 Bit.

AD9235 klingt gut.


No Y. schrieb:
> Wie wäre es so etwas auf der Platine vorzusehen?
> Geekcreit® DT-06 Wireless WiFi

Klingt gut. Günstig ist IMHO, eine Resetmöglichkeit vom FPGA aus 
vorzusehen. Soweit ich http://stefanfrings.de/esp8266/ verstehe, wäre 
das in diesem Fall EN
#5231706
Lesenswert?

Ich bin ein Fan von 0805 und 0612. Und ich bin ein Fan von "möglichst 
wenig Hühnerfutter, dafür die Teile etwas größer/besser/teurer).


No Y. schrieb:
> Ich hab noch immer 5 Digitale Signale, 2x Analog/Digital (AIN6,7) und 1x
> Analog (ANIN) übrig...
>
> Resteleiste?

Connector für NRF24 Modul (großer Cap zwischen VCC und GND direkt am 
Pfostenstecker)
#5232669
Lesenswert?

Weltbester FPGA-Pongo schrieb im Beitrag #5232544:
> Lars R. schrieb:
>> Klingt gut. Günstig ist IMHO, eine Resetmöglichkeit vom FPGA aus
>> vorzusehen. Soweit ich http://stefanfrings.de/esp8266/ verstehe, wäre
>> das in diesem Fall EN
>
> Dafür kann man auch den PRG-Pin nehmen.

Bzgl. Resetmöglichkeit ist die Rede von diesem Modul:
https://www.banggood.com/de/Geekcreit-DT-06-Wireless-WiFi-Serial-Port-Transparent-Transmission-Module-TTL-To-WiFi-p-1141047.html
#5232847
Lesenswert?

Hier mal das Datenblatt des DT-06 WIFI.

ALso beim NRF wird ja IRQ und auch CE gebraucht.
Wenn ich es richtig sehe wird beim DT-06 der State Pin nicht sinnvoll 
benutzt oder?

Ich habe AIN6 / AIN7 und ANAIN noch frei... Brauche aber für den 
NRF24L01 einen IRQ Pin.
Ich würde jetzt mal den Digital Pin der momentan am State des ESP ist an 
den IRQ des NRF nehmen.
Den State an einen AIN Pin, diesen kann man dann ggf. wen es 
interessiert als AD abfragen oder aber man benutzt den AIN Pin als 
Digital hier bin ich mir aber gerade nciht sicher ob beim Mäxchen die 
Bank gemischt als GPIO/AD betrieben werden kann. Kennt siche hier jemand 
mehr aus?

ANIN und AIN7 lass ich entweder weg (ist ja eh ein gesonderte 3Pin 
Header) oder aber ich leg ANAIN auf die Schaltregler Ausgangsspannung...
Angehängte Dateien:
#5232876
Lesenswert?

No Y. schrieb:
> Hier mal das Datenblatt des DT-06 WIFI.
>
> ALso beim NRF wird ja IRQ und auch CE gebraucht.

NRF24:
https://www.rhydolabz.com/wiki/?p=15956
CE, CSN, SCK, MISO und bitte auch IRQ



> Wenn ich es richtig sehe wird beim DT-06 der State Pin nicht sinnvoll
> benutzt oder?

Das sehe ich auch so

> wen es
> interessiert als AD abfragen oder aber man benutzt den AIN Pin als
> Digital hier bin ich mir aber gerade nciht sicher ob beim Mäxchen die
> Bank gemischt als GPIO/AD betrieben werden kann. Kennt siche hier jemand
> mehr aus?

Bin gerade unterwegs. Ich glaube:
. ANAIN1 nicht digital
. ADC1IN1....ADC1IN8: auch als digital "low speed"
. https://www.altera.com/support/literature/lit-dp.html

> ANIN und AIN7 lass ich entweder weg (ist ja eh ein gesonderte 3Pin
> Header)

Leg es doch einfach auf ein Pinheader mit GND dazwischen

> oder aber ich leg ANAIN auf die Schaltregler Ausgangsspannung...

Auf den 3V3 auf dem Adapter-PCB? Oder das...
#5234227
Lesenswert?

No Y. schrieb:
> So, aktueller Stand...

a. Das MAX1000 passt zwischen Adapter und Arduino-Shield? Insofern das 
Arduino-Shield auch an der Rückseite bestückt ist, genügen auch höhere 
Pinheader-Buchsen nicht, oder doch? Oder möchtest Du das MAX1000 fest 
einlöten?

b. Das DT-06 könnte auf der Rückseite der Pinheader von Con_02x06 
aufliegen und ungewollten Kontakt herstellen.

c. Zu den Transistorschaltungen kann ich nichts sagen. VIN ist auch 5V?


Bei KiCad habe ich bereits den "Bildschirmdruck" genutzt, um das 
angezeigte Layout inklusive Leiterbahnen in eine Bilddatei zu 
bekommen... (vielleicht weis Bernd mehr...)



Grüße,
Lars
#5234969
Lesenswert?

...falls eine Anordnung mit ESP8266 UND NRF24 zu aufwendig/schwierig 
wird, dann Vorschläge:
a. leg die Pinheader von nrf24 und ESP8266 so, dass man nur eines von 
beidem bestücken und nutzen kann.
b. lege Pinheader so, dass NRF24 "unschön" von der Platine absteht
c. lasse nrf24 weg.

NRF24+WLAN wäre toll. Jedoch, nur WLAN fände ich auch gut. Ich will Dein 
Projekt nicht unnötig ausbremsen.

Grüße,
Lars
#5235890
Lesenswert?

Ne bin am Layout dran, hab aber gerade wenig Zeit..
Max + Shield übereinander sollte passen. Siehe MKR2UNO weiß nur noch 
nicht wo ich so hohe Leiten herbekomme.. Habe aber aus China "Arduino 
Verlängerungen" sollte so auch gehen.
Bzgl. ESP Kollision: Denke es sollte so gehen, DT06 hat nichts auf der 
Unterseite. Oder ggf. doppelseitigen Klebeband zwischen. Oder den 
Stecker des MAX hier als SMD sofern ich welche in der gleichen Höhe 
finde...
Ja VIN ist auch 5V. Das mit den Mosfets passt so..
Gast #5238045
Lesenswert?

Mich würde interessieren:
Sind die PMOD Header bei der kleinen 8K LE Variante angeschlossen? Laut 
Layout sieht es mir nicht so aus, im User Manual stehen sie aber als 
angeschlossen drin. Kann mir jemand was dazu sagen? Oder bedeutet in der 
Beschreibung 'No' nur, dass sie keinen Pin-Header haben?
#5310354
Lesenswert?

No Y. schrieb:
> Sooo,
> die Chinesen waren fleißig...
>
> Platinen sind da. Jetzt werde ich mal Bauteile besorgen und schauen ob
> alles geht...

Hattest Du das so realisiert, dass man die 5V von der Buchse des MAX1000 
nehmen kann und auf dem Adapter aber die Wandlung auf 3V3 macht? (zwecks 
minimaler Bestückung)

Ein fertiges Teil auf Aliexpress sehe ich nicht.
#5310358
Lesenswert?

War auch nur ein Witz...
Denke nciht das die Chinesesn jeden Adapter den jemand bei denen 
fertigen lässt direkt auf Ali anbieten..
Nein, die 5V werden vom Adapter an das MAX weitergereicht.
Die 3.3V am Adapter generiert. Somit ist das MAX und dessen Schaltregler 
weitesgehend unangetastet..
#5310429
Lesenswert?

Kann ich theoretisch machen. Werde jetzt erstmal eines aufbauen und 
testen.
Wenn alles läuft, muss ich mal zusammenrechnen was die Bauteile + PCB 
zusammen kosten.

Ggf. kann ich es als einzel PCB oder DIY-Solder Kit aber alles schon 
zusammengestellt abgeben.
Gast #5310885
Lesenswert?

Lars R. schrieb:
> Hat bereits jemand probiert, Channel B des FT2232 auf "Fast Serial
> interface" umzustellen oder kennt sich jemand damit aus?
> Läuft das "Fast Serial interface" PC-seitig über eine virtuelle serielle
> Schnittstelle (com/tty)?
>
> Grüße,
> Lars

Ich habe den 2. Kanal benutz um Daten über ein Nios an eine PC 
Applikation zu schicken.
Umstellen musste ich am FTDI nichts.
Nur die UART im Nios richtig auf die Pins verbinden und gut.
Gast #5326461
Lesenswert?

Wisst ihr vielleicht, bis zu welcher Frequenz der Max1000 eine externe 
Clock auf einem seiner beliebigen IO Pins handeln kann? Mit handeln 
meine ich beispielsweise um einen 64 bit counter mit jeder positiven 
Flanke hoch zu zählen.
Gast #5326491
Lesenswert?

Detlef schrieb:
> Wisst ihr vielleicht, bis zu welcher Frequenz der Max1000 eine externe
> Clock auf einem seiner beliebigen IO Pins handeln kann? Mit handeln
> meine ich beispielsweise um einen 64 bit counter mit jeder positiven
> Flanke hoch zu zählen.

https://www.altera.com/en_US/pdfs/literature/hb/max-10/m10_datasheet.pdf 
S.38 ff. Auf dem Board ist einer vom speedgrad -C8. Kommt halt stark auf 
den IO-Standard an, bei LVDS sinds wohl 100 MHz.

Am besten du probierst es mal schnell aus, nimm ein Referenz design, bau 
einen 64bit Counter ein und lass die Synthese durchlaufen. Die 64 bit 
sollten aber mehr als grosszügig sein, bei 100 MHz, brauchts über 50 Mio 
stunden bis zum Überlauf, also knapp 6000 Jahre.
Gast #5326644
Lesenswert?

Detlef schrieb:
> bitwurschtler schrieb:
>> Kommt halt stark auf den IO-Standard an, bei LVDS sinds wohl 100 MHz
>
> Mich würde da der LVTTL als receiver  interessieren, aber dazu machen
> sie keine Angaben... :(

Doch, aber eben als Holdtime und Setup-time angaben und typische 
Routingdelays. Das ist halt kein CPLD mit festen durchlaufzeiten sondern 
ein FPGA bei dem das P&R je nach Auslastung und Sockenfarbe des 
Anwenders unterschiedliche Pfade zwischen FF zusammflickt. Deshalb der 
Tipp einfach mal das gewünchte Design durchrouten lassen und schauen was 
dabei herauskommt.

du kannst dich ja auch an den Benchmarks für NIOS orientieren, wobei 
NIOS 32bit sind und nicht 64 und da sind es 140Mhz. Also 100 MHz sollten 
für einen solchen Counter drin sein, aber besser du synthetisierts das 
mal Probe, das ist doch schnell gemacht. Wobei 64 bit wie gezeict 
reichlich unnötig sind, 54 bit sollten für so ein FPGA-Leben genügen.
Gast #5326645
Lesenswert?

Martin O. schrieb:
> Beim MAX1000 Board wird an einer Stiftleiste die Spannung 5V
> bereitgestellt.
> Könnte mal jemand messen, wie hoch bei ihm diese Spannung ist?
> Bei mir ist Sie gerade mal 4.2 Volt.

Kommt wohl drauf an, was dein USB-Port der das 1000 stromversorgt 
hergibt, steck das Board mal an einen anderen und miss nochmal.
Gast #5326669
Lesenswert?

bitwurschtler schrieb:
> Deshalb der Tipp einfach mal das gewünchte Design durchrouten lassen und
> schauen was dabei herauskommt.

Vielen Dank für deine Antwort. Ich habe mir den Max1000 noch nicht 
zugelegt. Wollte mich vor dem Kauf eben noch mal vergewissern, ob er 
meinen Anforderungen entspricht.

Ich denke an eine 64 bit counter weil ein 32 bit counter für 100 MHz zu 
wenig sind und die nächste Größe die ich mit C++ gut auspacken kann eben 
64 bit sind.
#5328581
Lesenswert?

No Y. schrieb:
> Was kann der neue eigentlich mehr?

https://www.trenz-electronic.de/fileadmin/docs/Trenz_Electronic/Modules_and_Module_Carriers/2.5x6.15/TEI0001/REV02/Documents/SCH-TEI0001-02-08-C8.PDF
letzte Seite:
CHANGES  REV01 to REV02
----------------------------------
1) Added resistors R35, R37
2) Changed SPI-flash on W74M64FVSSIQ (populated in REV02)
3) Moved nets D0,D1,D4,D5 from bank1B to banks 5 and 2
4) Optimized connections into banks 1A, 1B, 2, 5,6
5) Changed pin-out on a connector J4
6) Added a pin-header J3
7) Changed a LEDs
#5328591
Lesenswert?

Ja das sind die HW Änderungen. Habe ja die Rev.2 aber mit der ftdi 
Konfiguration der rev1 da damit der alte Linuxtreiber funktioniert. Aber 
es gibt ja nun auch einen Linuxtreiber für die ftdi Konfiguration der 
rev2.
Was kann der Treiber an sich mehr?
Würde halt wenn er mehr kann gerne wieder die Rev.2  ftdi Konfiguration 
auf mein Rev.2 Board laden. Quasi Auslieferungszustand wiederherstellen.

Achja bzgl. Adapterboard.. ich warte momentan auf Bauteile von Mouser 
die ich über David bestellt habe. Und diese Woche wird dank der EW wohl 
eh nichts passieren...
Gast #5328601
Lesenswert?

Detlef schrieb:
> Vielen Dank für deine Antwort. Ich habe mir den Max1000 noch nicht
> zugelegt. Wollte mich vor dem Kauf eben noch mal vergewissern, ob er
> meinen Anforderungen entspricht.

Das lässt sich wohl am Besten verifizieren, indem Du ein Design für 
diesen Chip erstellst und es übersetzt. Wenn es läuft, stehen die 
Chancen schon mal gut.

Wir haben den MAX1000 in einigen aktuellen Projekten am Laufen.
#5365020
Lesenswert?

So, am Freitag kamen endlich alle Bauteile, die über David bestellt 
waren an.
Samstag hab ich es aufgebaut und getestet.
Funktioniert alles wie gewünscht.
Somit hätte ich nun 8 unbestückte PCBs abzugeben.
Kostenpunkt jeweils 2.00€ inkl. Versand innerhalb Deutschlands:
1.00€ PCB
0.70€ Briefporto
0.10€ Briefumschlag
0.20€ Benzinkosten zu Post / Aufwandsentschädigung

Ich gebe gerne die BOM, Schaltplan, Bestückungsplan und Gerber per Mail 
raus. Wenn jemand das KiCAD Projekt haben möchte und keine Angst vor 
*.zip / *.tar.gz hat gibt es das ebenfalls per Mail von mir.

Die Bauteilkosten für eine Vollbestückung der Platine sind ca. 9.00€
Ich habe die Bauteile teilweise über David bei Mouser und teilweise bei 
Reichelt gekauft. Bei Reichelt sind die Stecker günstiger und ich musste 
soweiso dort bestellen. Da ich jetzt nicht in Vorleistung für 10 
vollbestückte PCBs gehen wollte (immerhin knapp 100€) und auch nicht so 
viel Zeit habe um 10 PCBs für andere zu löten leider halt nur "PCB 
only".

Wer Interesse hat -> PN.
Ich werde es ebenfalls hier im Markt anbieten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren