@@ -93,9 +93,11 @@ end component;
93
93
94
94
95
95
-- my logic
96
- signal encoder_count, encoder_control, encoder_speed: std_logic_vector (15 downto 0 );
97
- signal CHAN_A, CHAN_B : std_logic ;
98
- signal pwm_sig : std_logic ;
96
+ signal encoder_count0, encoder_control, encoder_speed0: std_logic_vector (15 downto 0 );
97
+ signal encoder_count1, encoder_speed1: std_logic_vector (15 downto 0 );
98
+ signal CHAN_A0, CHAN_B0 : std_logic ;
99
+ signal CHAN_A1, CHAN_B1 : std_logic ;
100
+ signal pwm_sig0,pwm_sig1 : std_logic ;
99
101
signal dir_control : std_logic_vector (15 downto 0 );
100
102
101
103
signal loop_back : std_logic_vector (15 downto 0 );
@@ -196,8 +198,8 @@ wbs_ack => Intercon_0_wbm_REG0_0_wbs.ack,
196
198
reg_out(0 )(15 downto 0 ) => encoder_control,
197
199
reg_out(1 )(15 downto 0 ) => dir_control,
198
200
reg_out(2 ) => loop_back,
199
- reg_in(0 )(15 downto 0 ) => encoder_count ,
200
- reg_in(1 )(15 downto 0 ) => encoder_speed ,
201
+ reg_in(0 )(15 downto 0 ) => encoder_count0 ,
202
+ reg_in(1 )(15 downto 0 ) => encoder_count1 ,
201
203
reg_in(2 ) => loop_back
202
204
);
203
205
@@ -206,20 +208,35 @@ enc0 : encoder_interface
206
208
generic map (FREQ_DIV => 100 )
207
209
port map (
208
210
clk => gls_clk, reset => gls_reset,
209
- channel_a => CHAN_A ,
210
- channel_b => CHAN_B ,
211
+ channel_a => CHAN_A0 ,
212
+ channel_b => CHAN_B0 ,
211
213
212
- period => encoder_speed ,
214
+ period => encoder_speed0 ,
213
215
pv => open ,
214
216
215
- count => encoder_count ,
217
+ count => encoder_count0 ,
216
218
reset_count => encoder_control(0 )
217
219
218
220
);
219
221
222
+ enc1 : encoder_interface
223
+ generic map (FREQ_DIV => 100 )
224
+ port map (
225
+ clk => gls_clk, reset => gls_reset,
226
+ channel_a => CHAN_A1,
227
+ channel_b => CHAN_B1,
228
+
229
+ period => encoder_speed1,
230
+ pv => open ,
231
+
232
+ count => encoder_count1,
233
+ reset_count => encoder_control(8 )
234
+
235
+ );
236
+
220
237
221
238
PWM_0 : wishbone_pwm
222
- generic map ( nb_chan => 1 )
239
+ generic map ( nb_chan => 2 )
223
240
port map (
224
241
-- Syscon signals
225
242
gls_clk => gls_clk, gls_reset => gls_reset,
@@ -232,26 +249,27 @@ port map(
232
249
wbs_write => Intercon_0_wbm_PWM_0_wbs.write ,
233
250
wbs_ack => Intercon_0_wbm_PWM_0_wbs.ack,
234
251
235
- pwm_out(0 ) => pwm_sig
252
+ pwm_out(0 ) => pwm_sig0,
253
+ pwm_out(1 ) => pwm_sig1
236
254
);
237
255
238
256
239
257
LED(0 ) <= BEAT_0_beat_out_top_LED;
240
- LED(1 ) <= pwm_sig ;
258
+ LED(1 ) <= pwm_sig0 ;
241
259
242
260
-- Connecting inouts
243
261
244
-
245
- CHAN_B <= PMOD1(3 );
246
- CHAN_A <= PMOD1(2 );
247
- -- 'Z' <= PMOD1(7);
248
- PMOD1(0 ) <= pwm_sig;
249
- PMOD1(1 ) <= dir_control(0 );
262
+ CHAN_A0 <= PMOD1(2 );
263
+ CHAN_B0 <= PMOD1(3 );
264
+ PMOD1(0 ) <= dir_control(0 );
265
+ PMOD1(1 ) <= pwm_sig0;
250
266
PMOD1(7 downto 4 ) <= (others => 'Z' );
251
- PMOD2(7 downto 0 ) <= (others => 'Z' );
252
-
253
-
254
267
268
+ CHAN_A1 <= PMOD2(2 );
269
+ CHAN_B1 <= PMOD2(3 );
270
+ PMOD2(0 ) <= dir_control(8 );
271
+ PMOD2(1 ) <= pwm_sig1;
272
+ PMOD2(7 downto 4 ) <= (others => 'Z' );
255
273
256
274
257
275
0 commit comments