Tang Nanoで液晶表示テスト

GitHubにTang Nanoのサンプルがありましたので試してみました。

このサンプルの中のexample_lcd/lcd_pjtディレクトリの下のlcd_pjt.gprjをGOWIN_FPGA Designerで開いて、論理合成と配置配線、ダウンロードを行うと、なんとなく動きますが、接続したLCDが480×272のものでしたのでちらつきます。

そこで、ソースコードを覗くとVGAod.vの中に、480×272液晶用のパラメータがコメントアウトされていました。こちらを有効化し、元の800×480のパラメータをコメントアウトしました。

これで合成、配置配線、ダウンロードすると、チラツキがなくなりましたが、800×480のつもりで表示しているので部分的にしか表示されません。そこで、このソースの最後の方に出力するラインによってRGBの出力を決めている箇所がありましたので、これを以下のように修正しました。

    assign  LCD_R   =   (PixelCount< 72)? 5'b11111 : 
                        (PixelCount< 96 ? 5'b00000 : 
                        (PixelCount<120 ? 5'b00001 :    
                        (PixelCount<144 ? 5'b00010 :    
                        (PixelCount<168 ? 5'b00100 :    
                        (PixelCount<192 ? 5'b01000 :    
                        (PixelCount<216 ? 5'b10000 :  5'b00000 ))))));

    assign  LCD_G   =   (PixelCount< 72)? 6'b111111 : 
                        (PixelCount<240 ? 6'b000000 : 
                        (PixelCount<264 ? 6'b000001 :    
                        (PixelCount<288 ? 6'b000010 :    
                        (PixelCount<312 ? 6'b000100 :    
                        (PixelCount<336 ? 6'b001000 :    
                        (PixelCount<360 ? 6'b010000 :  
                        (PixelCount<384 ? 6'b100000 : 6'b000000 )))))));

    assign  LCD_B   =   (PixelCount< 72)? 5'b11111 : 
                        (PixelCount<408 ? 5'b00000 : 
                        (PixelCount<432 ? 5'b00001 :    
                        (PixelCount<456 ? 5'b00010 :    
                        (PixelCount<480 ? 5'b00100 :    
                        (PixelCount<504 ? 5'b01000 :    
                        (PixelCount<528 ? 5'b10000 :  5'b00000 ))))));

これで合成&配置配線&ダウンロードすると以下のようにきれいに表示できました。

液晶モジュールの仕様書

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)